[INFO] cloning repository https://github.com/wenhaozhao/gb_simulator [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/wenhaozhao/gb_simulator" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwenhaozhao%2Fgb_simulator", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwenhaozhao%2Fgb_simulator'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 8314221c2e08428d92253b3d002ca0291ca5dd4f [INFO] checking wenhaozhao/gb_simulator against master#ba7e63b63871a429533c189adbfb1d9a6337e000 for pr-135331-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwenhaozhao%2Fgb_simulator" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/wenhaozhao/gb_simulator [INFO] finished tweaking git repo https://github.com/wenhaozhao/gb_simulator [INFO] tweaked toml for git repo https://github.com/wenhaozhao/gb_simulator written to /workspace/builds/worker-7-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/wenhaozhao/gb_simulator on toolchain ba7e63b63871a429533c189adbfb1d9a6337e000 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ba7e63b63871a429533c189adbfb1d9a6337e000" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/wenhaozhao/gb_simulator already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ba7e63b63871a429533c189adbfb1d9a6337e000" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded minifb v0.25.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:cf8efcab8866f2cf4285301c7418e2f4f2a9b088c91ba69c40d5b659f81557f7" "/opt/rustwide/cargo-home/bin/cargo" "+ba7e63b63871a429533c189adbfb1d9a6337e000" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] c52f17caec38d00ace48bbc62ba7f982f237415918c6eb919b6b1ab445fec5f1 [INFO] running `Command { std: "docker" "start" "-a" "c52f17caec38d00ace48bbc62ba7f982f237415918c6eb919b6b1ab445fec5f1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "c52f17caec38d00ace48bbc62ba7f982f237415918c6eb919b6b1ab445fec5f1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c52f17caec38d00ace48bbc62ba7f982f237415918c6eb919b6b1ab445fec5f1", kill_on_drop: false }` [INFO] [stdout] c52f17caec38d00ace48bbc62ba7f982f237415918c6eb919b6b1ab445fec5f1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:cf8efcab8866f2cf4285301c7418e2f4f2a9b088c91ba69c40d5b659f81557f7" "/opt/rustwide/cargo-home/bin/cargo" "+ba7e63b63871a429533c189adbfb1d9a6337e000" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 259a0765f74d481f2d1ffd209eab7656de916d7b3c29d5c5aaffd29ae6faa844 [INFO] running `Command { std: "docker" "start" "-a" "259a0765f74d481f2d1ffd209eab7656de916d7b3c29d5c5aaffd29ae6faa844", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.68 [INFO] [stderr] Compiling unicode-ident v1.0.12 [INFO] [stderr] Compiling pkg-config v0.3.27 [INFO] [stderr] Checking cfg-if v1.0.0 [INFO] [stderr] Compiling libc v0.2.149 [INFO] [stderr] Compiling autocfg v1.1.0 [INFO] [stderr] Compiling xml-rs v0.8.19 [INFO] [stderr] Checking bitflags v1.3.2 [INFO] [stderr] Checking once_cell v1.18.0 [INFO] [stderr] Checking lazy_static v1.4.0 [INFO] [stderr] Checking smallvec v1.11.1 [INFO] [stderr] Checking memchr v2.6.4 [INFO] [stderr] Checking downcast-rs v1.2.0 [INFO] [stderr] Compiling rustix v0.38.20 [INFO] [stderr] Checking scoped-tls v1.0.1 [INFO] [stderr] Checking minimal-lexical v0.2.1 [INFO] [stderr] Checking libloading v0.8.1 [INFO] [stderr] Checking linux-raw-sys v0.4.10 [INFO] [stderr] Checking bitflags v2.4.1 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Checking cty v0.2.2 [INFO] [stderr] Checking fastrand v2.0.1 [INFO] [stderr] Checking raw-window-handle v0.4.3 [INFO] [stderr] Compiling convert_case v0.4.0 [INFO] [stderr] Checking dlib v0.5.2 [INFO] [stderr] Compiling memoffset v0.6.5 [INFO] [stderr] Compiling wayland-sys v0.29.5 [INFO] [stderr] Compiling x11-dl v2.21.0 [INFO] [stderr] Checking nom v7.1.3 [INFO] [stderr] Compiling quote v1.0.33 [INFO] [stderr] Compiling wayland-scanner v0.29.5 [INFO] [stderr] Compiling cc v1.0.83 [INFO] [stderr] Checking nix v0.24.3 [INFO] [stderr] Compiling wayland-client v0.29.5 [INFO] [stderr] Compiling wayland-protocols v0.29.5 [INFO] [stderr] Checking xcursor v0.3.4 [INFO] [stderr] Compiling minifb v0.25.0 [INFO] [stderr] Checking tempfile v3.8.0 [INFO] [stderr] Compiling derive_more v0.99.17 [INFO] [stderr] Checking wayland-commons v0.29.5 [INFO] [stderr] Checking wayland-cursor v0.29.5 [INFO] [stderr] Checking gb_simulator v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `Memory` [INFO] [stdout] --> src/cpu/mod.rs:5:18 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::mmu::{Memory, RefMemory}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::cpu::CPU` [INFO] [stdout] --> src/cpu/lr35902/opcode/mod.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::cpu::CPU; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression [INFO] [stdout] --> src/cpu/lr35902/opcode/cbprefixed_opcode.rs:156:31 [INFO] [stdout] | [INFO] [stdout] 156 | let n = match (opcode) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 156 - let n = match (opcode) { [INFO] [stdout] 156 + let n = match opcode { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression [INFO] [stdout] --> src/cpu/lr35902/opcode/cbprefixed_opcode.rs:181:31 [INFO] [stdout] | [INFO] [stdout] 181 | let n = match (opcode) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 181 - let n = match (opcode) { [INFO] [stdout] 181 + let n = match opcode { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression [INFO] [stdout] --> src/cpu/lr35902/opcode/cbprefixed_opcode.rs:208:31 [INFO] [stdout] | [INFO] [stdout] 208 | let n = match (opcode) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 208 - let n = match (opcode) { [INFO] [stdout] 208 + let n = match opcode { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression [INFO] [stdout] --> src/cpu/lr35902/opcode/cbprefixed_opcode.rs:238:15 [INFO] [stdout] | [INFO] [stdout] 238 | match (opcode & 0x0F) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 238 - match (opcode & 0x0F) { [INFO] [stdout] 238 + match opcode & 0x0F { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/cpu/lr35902/opcode/cbprefixed_opcode.rs:280:19 [INFO] [stdout] | [INFO] [stdout] 280 | let res = (val >> 1); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 280 - let res = (val >> 1); [INFO] [stdout] 280 + let res = val >> 1; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `RefCell` [INFO] [stdout] --> src/mother_board.rs:1:22 [INFO] [stdout] | [INFO] [stdout] 1 | use std::cell::{Ref, RefCell}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Memory` [INFO] [stdout] --> src/mother_board.rs:9:18 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::mmu::{Memory, MMU, RefMemory}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:98:32 [INFO] [stdout] | [INFO] [stdout] 98 | 0xFF01 => todo!(), /// SB Serial transfer data R/W All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 99 | / 0xFF02 => todo!(), /// SC Serial transfer control R/W Mixed [INFO] [stdout] 100| | 0xFF04 => todo!(), /// DIV Divider register R/W All [INFO] [stdout] 101| | 0xFF05 => todo!(), /// TIMA Timer counter R/W All [INFO] [stdout] 102| | 0xFF06 => todo!(), /// TMA Timer modulo R/W All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] = note: `#[warn(unused_doc_comments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:99:32 [INFO] [stdout] | [INFO] [stdout] 99 | 0xFF02 => todo!(), /// SC Serial transfer control R/W Mixed [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 100| / 0xFF04 => todo!(), /// DIV Divider register R/W All [INFO] [stdout] 101| | 0xFF05 => todo!(), /// TIMA Timer counter R/W All [INFO] [stdout] 102| | 0xFF06 => todo!(), /// TMA Timer modulo R/W All [INFO] [stdout] 103| | 0xFF07 => todo!(), /// TAC Timer control R/W All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:100:32 [INFO] [stdout] | [INFO] [stdout] 100 | 0xFF04 => todo!(), /// DIV Divider register R/W All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 101 | / 0xFF05 => todo!(), /// TIMA Timer counter R/W All [INFO] [stdout] 102 | | 0xFF06 => todo!(), /// TMA Timer modulo R/W All [INFO] [stdout] 103 | | 0xFF07 => todo!(), /// TAC Timer control R/W All [INFO] [stdout] 104 | | 0xFF0F => self.interrupt.borrow().get(addr), [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:101:32 [INFO] [stdout] | [INFO] [stdout] 101 | 0xFF05 => todo!(), /// TIMA Timer counter R/W All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 102 | / 0xFF06 => todo!(), /// TMA Timer modulo R/W All [INFO] [stdout] 103 | | 0xFF07 => todo!(), /// TAC Timer control R/W All [INFO] [stdout] 104 | | 0xFF0F => self.interrupt.borrow().get(addr), [INFO] [stdout] 105 | | 0xFF10 => todo!(), /// NR10 Sound channel 1 sweep R/W All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:102:32 [INFO] [stdout] | [INFO] [stdout] 102 | 0xFF06 => todo!(), /// TMA Timer modulo R/W All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 103 | / 0xFF07 => todo!(), /// TAC Timer control R/W All [INFO] [stdout] 104 | | 0xFF0F => self.interrupt.borrow().get(addr), [INFO] [stdout] 105 | | 0xFF10 => todo!(), /// NR10 Sound channel 1 sweep R/W All [INFO] [stdout] 106 | | 0xFF11 => todo!(), /// NR11 Sound channel 1 length timer & duty cycle Mixed All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:103:32 [INFO] [stdout] | [INFO] [stdout] 103 | 0xFF07 => todo!(), /// TAC Timer control R/W All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 104 | 0xFF0F => self.interrupt.borrow().get(addr), [INFO] [stdout] | ------------------------------------------- rustdoc does not generate documentation for match arms [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:105:32 [INFO] [stdout] | [INFO] [stdout] 105 | 0xFF10 => todo!(), /// NR10 Sound channel 1 sweep R/W All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 106 | / 0xFF11 => todo!(), /// NR11 Sound channel 1 length timer & duty cycle Mixed All [INFO] [stdout] 107 | | 0xFF12 => todo!(), /// NR12 Sound channel 1 volume & envelope R/W All [INFO] [stdout] 108 | | 0xFF13 => todo!(), /// NR13 Sound channel 1 period low W All [INFO] [stdout] 109 | | 0xFF14 => todo!(), /// NR14 Sound channel 1 period high & control Mixed All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:106:32 [INFO] [stdout] | [INFO] [stdout] 106 | 0xFF11 => todo!(), /// NR11 Sound channel 1 length timer & duty cycle Mixed All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 107 | / 0xFF12 => todo!(), /// NR12 Sound channel 1 volume & envelope R/W All [INFO] [stdout] 108 | | 0xFF13 => todo!(), /// NR13 Sound channel 1 period low W All [INFO] [stdout] 109 | | 0xFF14 => todo!(), /// NR14 Sound channel 1 period high & control Mixed All [INFO] [stdout] 110 | | 0xFF16 => todo!(), /// NR21 Sound channel 2 length timer & duty cycle Mixed All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:107:32 [INFO] [stdout] | [INFO] [stdout] 107 | 0xFF12 => todo!(), /// NR12 Sound channel 1 volume & envelope R/W All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 108 | / 0xFF13 => todo!(), /// NR13 Sound channel 1 period low W All [INFO] [stdout] 109 | | 0xFF14 => todo!(), /// NR14 Sound channel 1 period high & control Mixed All [INFO] [stdout] 110 | | 0xFF16 => todo!(), /// NR21 Sound channel 2 length timer & duty cycle Mixed All [INFO] [stdout] 111 | | 0xFF17 => todo!(), /// NR22 Sound channel 2 volume & envelope R/W All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:108:32 [INFO] [stdout] | [INFO] [stdout] 108 | 0xFF13 => todo!(), /// NR13 Sound channel 1 period low W All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 109 | / 0xFF14 => todo!(), /// NR14 Sound channel 1 period high & control Mixed All [INFO] [stdout] 110 | | 0xFF16 => todo!(), /// NR21 Sound channel 2 length timer & duty cycle Mixed All [INFO] [stdout] 111 | | 0xFF17 => todo!(), /// NR22 Sound channel 2 volume & envelope R/W All [INFO] [stdout] 112 | | 0xFF18 => todo!(), /// NR23 Sound channel 2 period low W All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:109:32 [INFO] [stdout] | [INFO] [stdout] 109 | 0xFF14 => todo!(), /// NR14 Sound channel 1 period high & control Mixed All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 110 | / 0xFF16 => todo!(), /// NR21 Sound channel 2 length timer & duty cycle Mixed All [INFO] [stdout] 111 | | 0xFF17 => todo!(), /// NR22 Sound channel 2 volume & envelope R/W All [INFO] [stdout] 112 | | 0xFF18 => todo!(), /// NR23 Sound channel 2 period low W All [INFO] [stdout] 113 | | 0xFF19 => todo!(), /// NR24 Sound channel 2 period high & control Mixed All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:110:32 [INFO] [stdout] | [INFO] [stdout] 110 | 0xFF16 => todo!(), /// NR21 Sound channel 2 length timer & duty cycle Mixed All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 111 | / 0xFF17 => todo!(), /// NR22 Sound channel 2 volume & envelope R/W All [INFO] [stdout] 112 | | 0xFF18 => todo!(), /// NR23 Sound channel 2 period low W All [INFO] [stdout] 113 | | 0xFF19 => todo!(), /// NR24 Sound channel 2 period high & control Mixed All [INFO] [stdout] 114 | | 0xFF1A => todo!(), /// NR30 Sound channel 3 DAC enable R/W All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:111:32 [INFO] [stdout] | [INFO] [stdout] 111 | 0xFF17 => todo!(), /// NR22 Sound channel 2 volume & envelope R/W All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 112 | / 0xFF18 => todo!(), /// NR23 Sound channel 2 period low W All [INFO] [stdout] 113 | | 0xFF19 => todo!(), /// NR24 Sound channel 2 period high & control Mixed All [INFO] [stdout] 114 | | 0xFF1A => todo!(), /// NR30 Sound channel 3 DAC enable R/W All [INFO] [stdout] 115 | | 0xFF1B => todo!(), /// NR31 Sound channel 3 length timer W All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:112:32 [INFO] [stdout] | [INFO] [stdout] 112 | 0xFF18 => todo!(), /// NR23 Sound channel 2 period low W All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 113 | / 0xFF19 => todo!(), /// NR24 Sound channel 2 period high & control Mixed All [INFO] [stdout] 114 | | 0xFF1A => todo!(), /// NR30 Sound channel 3 DAC enable R/W All [INFO] [stdout] 115 | | 0xFF1B => todo!(), /// NR31 Sound channel 3 length timer W All [INFO] [stdout] 116 | | 0xFF1C => todo!(), /// NR32 Sound channel 3 output level R/W All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:113:32 [INFO] [stdout] | [INFO] [stdout] 113 | 0xFF19 => todo!(), /// NR24 Sound channel 2 period high & control Mixed All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 114 | / 0xFF1A => todo!(), /// NR30 Sound channel 3 DAC enable R/W All [INFO] [stdout] 115 | | 0xFF1B => todo!(), /// NR31 Sound channel 3 length timer W All [INFO] [stdout] 116 | | 0xFF1C => todo!(), /// NR32 Sound channel 3 output level R/W All [INFO] [stdout] 117 | | 0xFF1D => todo!(), /// NR33 Sound channel 3 period low W All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:114:32 [INFO] [stdout] | [INFO] [stdout] 114 | 0xFF1A => todo!(), /// NR30 Sound channel 3 DAC enable R/W All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 115 | / 0xFF1B => todo!(), /// NR31 Sound channel 3 length timer W All [INFO] [stdout] 116 | | 0xFF1C => todo!(), /// NR32 Sound channel 3 output level R/W All [INFO] [stdout] 117 | | 0xFF1D => todo!(), /// NR33 Sound channel 3 period low W All [INFO] [stdout] 118 | | 0xFF1E => todo!(), /// NR34 Sound channel 3 period high & control Mixed All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:115:32 [INFO] [stdout] | [INFO] [stdout] 115 | 0xFF1B => todo!(), /// NR31 Sound channel 3 length timer W All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 116 | / 0xFF1C => todo!(), /// NR32 Sound channel 3 output level R/W All [INFO] [stdout] 117 | | 0xFF1D => todo!(), /// NR33 Sound channel 3 period low W All [INFO] [stdout] 118 | | 0xFF1E => todo!(), /// NR34 Sound channel 3 period high & control Mixed All [INFO] [stdout] 119 | | 0xFF20 => todo!(), /// NR41 Sound channel 4 length timer W All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:116:32 [INFO] [stdout] | [INFO] [stdout] 116 | 0xFF1C => todo!(), /// NR32 Sound channel 3 output level R/W All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 117 | / 0xFF1D => todo!(), /// NR33 Sound channel 3 period low W All [INFO] [stdout] 118 | | 0xFF1E => todo!(), /// NR34 Sound channel 3 period high & control Mixed All [INFO] [stdout] 119 | | 0xFF20 => todo!(), /// NR41 Sound channel 4 length timer W All [INFO] [stdout] 120 | | 0xFF21 => todo!(), /// NR42 Sound channel 4 volume & envelope R/W All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:117:32 [INFO] [stdout] | [INFO] [stdout] 117 | 0xFF1D => todo!(), /// NR33 Sound channel 3 period low W All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 118 | / 0xFF1E => todo!(), /// NR34 Sound channel 3 period high & control Mixed All [INFO] [stdout] 119 | | 0xFF20 => todo!(), /// NR41 Sound channel 4 length timer W All [INFO] [stdout] 120 | | 0xFF21 => todo!(), /// NR42 Sound channel 4 volume & envelope R/W All [INFO] [stdout] 121 | | 0xFF22 => todo!(), /// NR43 Sound channel 4 frequency & randomness R/W All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:118:32 [INFO] [stdout] | [INFO] [stdout] 118 | 0xFF1E => todo!(), /// NR34 Sound channel 3 period high & control Mixed All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 119 | / 0xFF20 => todo!(), /// NR41 Sound channel 4 length timer W All [INFO] [stdout] 120 | | 0xFF21 => todo!(), /// NR42 Sound channel 4 volume & envelope R/W All [INFO] [stdout] 121 | | 0xFF22 => todo!(), /// NR43 Sound channel 4 frequency & randomness R/W All [INFO] [stdout] 122 | | 0xFF23 => todo!(), /// NR44 Sound channel 4 control Mixed All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:119:32 [INFO] [stdout] | [INFO] [stdout] 119 | 0xFF20 => todo!(), /// NR41 Sound channel 4 length timer W All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 120 | / 0xFF21 => todo!(), /// NR42 Sound channel 4 volume & envelope R/W All [INFO] [stdout] 121 | | 0xFF22 => todo!(), /// NR43 Sound channel 4 frequency & randomness R/W All [INFO] [stdout] 122 | | 0xFF23 => todo!(), /// NR44 Sound channel 4 control Mixed All [INFO] [stdout] 123 | | 0xFF24 => todo!(), /// NR50 Master volume & VIN panning R/W All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:120:32 [INFO] [stdout] | [INFO] [stdout] 120 | 0xFF21 => todo!(), /// NR42 Sound channel 4 volume & envelope R/W All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 121 | / 0xFF22 => todo!(), /// NR43 Sound channel 4 frequency & randomness R/W All [INFO] [stdout] 122 | | 0xFF23 => todo!(), /// NR44 Sound channel 4 control Mixed All [INFO] [stdout] 123 | | 0xFF24 => todo!(), /// NR50 Master volume & VIN panning R/W All [INFO] [stdout] 124 | | 0xFF25 => todo!(), /// NR51 Sound panning R/W All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:121:32 [INFO] [stdout] | [INFO] [stdout] 121 | 0xFF22 => todo!(), /// NR43 Sound channel 4 frequency & randomness R/W All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 122 | / 0xFF23 => todo!(), /// NR44 Sound channel 4 control Mixed All [INFO] [stdout] 123 | | 0xFF24 => todo!(), /// NR50 Master volume & VIN panning R/W All [INFO] [stdout] 124 | | 0xFF25 => todo!(), /// NR51 Sound panning R/W All [INFO] [stdout] 125 | | 0xFF26 => todo!(), /// NR52 Sound on/off Mixed All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:122:32 [INFO] [stdout] | [INFO] [stdout] 122 | 0xFF23 => todo!(), /// NR44 Sound channel 4 control Mixed All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 123 | / 0xFF24 => todo!(), /// NR50 Master volume & VIN panning R/W All [INFO] [stdout] 124 | | 0xFF25 => todo!(), /// NR51 Sound panning R/W All [INFO] [stdout] 125 | | 0xFF26 => todo!(), /// NR52 Sound on/off Mixed All [INFO] [stdout] 126 | | 0xFF30..=0xFF3F => todo!(), /// Wave RAM Storage for one of the sound channels’ waveform R/W All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:123:32 [INFO] [stdout] | [INFO] [stdout] 123 | 0xFF24 => todo!(), /// NR50 Master volume & VIN panning R/W All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 124 | / 0xFF25 => todo!(), /// NR51 Sound panning R/W All [INFO] [stdout] 125 | | 0xFF26 => todo!(), /// NR52 Sound on/off Mixed All [INFO] [stdout] 126 | | 0xFF30..=0xFF3F => todo!(), /// Wave RAM Storage for one of the sound channels’ waveform R/W All [INFO] [stdout] 127 | | 0xFF40 => todo!(), /// LCDC LCD control R/W All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:124:32 [INFO] [stdout] | [INFO] [stdout] 124 | 0xFF25 => todo!(), /// NR51 Sound panning R/W All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 125 | / 0xFF26 => todo!(), /// NR52 Sound on/off Mixed All [INFO] [stdout] 126 | | 0xFF30..=0xFF3F => todo!(), /// Wave RAM Storage for one of the sound channels’ waveform R/W All [INFO] [stdout] 127 | | 0xFF40 => todo!(), /// LCDC LCD control R/W All [INFO] [stdout] 128 | | 0xFF41 => todo!(), /// STAT LCD status Mixed All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:125:32 [INFO] [stdout] | [INFO] [stdout] 125 | 0xFF26 => todo!(), /// NR52 Sound on/off Mixed All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 126 | / 0xFF30..=0xFF3F => todo!(), /// Wave RAM Storage for one of the sound channels’ waveform R/W All [INFO] [stdout] 127 | | 0xFF40 => todo!(), /// LCDC LCD control R/W All [INFO] [stdout] 128 | | 0xFF41 => todo!(), /// STAT LCD status Mixed All [INFO] [stdout] 129 | | 0xFF42 => todo!(), /// SCY Viewport Y position R/W All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:126:41 [INFO] [stdout] | [INFO] [stdout] 126 | 0xFF30..=0xFF3F => todo!(), /// Wave RAM Storage for one of the sound channels’ waveform R/W All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 127 | / 0xFF40 => todo!(), /// LCDC LCD control R/W All [INFO] [stdout] 128 | | 0xFF41 => todo!(), /// STAT LCD status Mixed All [INFO] [stdout] 129 | | 0xFF42 => todo!(), /// SCY Viewport Y position R/W All [INFO] [stdout] 130 | | 0xFF43 => todo!(), /// SCX Viewport X position R/W All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:127:32 [INFO] [stdout] | [INFO] [stdout] 127 | 0xFF40 => todo!(), /// LCDC LCD control R/W All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 128 | / 0xFF41 => todo!(), /// STAT LCD status Mixed All [INFO] [stdout] 129 | | 0xFF42 => todo!(), /// SCY Viewport Y position R/W All [INFO] [stdout] 130 | | 0xFF43 => todo!(), /// SCX Viewport X position R/W All [INFO] [stdout] 131 | | 0xFF44 => todo!(), /// LY LCD Y coordinate R All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:128:32 [INFO] [stdout] | [INFO] [stdout] 128 | 0xFF41 => todo!(), /// STAT LCD status Mixed All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 129 | / 0xFF42 => todo!(), /// SCY Viewport Y position R/W All [INFO] [stdout] 130 | | 0xFF43 => todo!(), /// SCX Viewport X position R/W All [INFO] [stdout] 131 | | 0xFF44 => todo!(), /// LY LCD Y coordinate R All [INFO] [stdout] 132 | | 0xFF45 => todo!(), /// LYC LY compare R/W All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:129:32 [INFO] [stdout] | [INFO] [stdout] 129 | 0xFF42 => todo!(), /// SCY Viewport Y position R/W All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 130 | / 0xFF43 => todo!(), /// SCX Viewport X position R/W All [INFO] [stdout] 131 | | 0xFF44 => todo!(), /// LY LCD Y coordinate R All [INFO] [stdout] 132 | | 0xFF45 => todo!(), /// LYC LY compare R/W All [INFO] [stdout] 133 | | 0xFF46 => todo!(), /// DMA OAM DMA source address & start R/W All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:130:32 [INFO] [stdout] | [INFO] [stdout] 130 | 0xFF43 => todo!(), /// SCX Viewport X position R/W All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 131 | / 0xFF44 => todo!(), /// LY LCD Y coordinate R All [INFO] [stdout] 132 | | 0xFF45 => todo!(), /// LYC LY compare R/W All [INFO] [stdout] 133 | | 0xFF46 => todo!(), /// DMA OAM DMA source address & start R/W All [INFO] [stdout] 134 | | 0xFF47 => todo!(), /// BGP BG palette data R/W DMG [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:131:32 [INFO] [stdout] | [INFO] [stdout] 131 | 0xFF44 => todo!(), /// LY LCD Y coordinate R All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 132 | / 0xFF45 => todo!(), /// LYC LY compare R/W All [INFO] [stdout] 133 | | 0xFF46 => todo!(), /// DMA OAM DMA source address & start R/W All [INFO] [stdout] 134 | | 0xFF47 => todo!(), /// BGP BG palette data R/W DMG [INFO] [stdout] 135 | | 0xFF48 => todo!(), /// OBP0 OBJ palette 0 data R/W DMG [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:132:32 [INFO] [stdout] | [INFO] [stdout] 132 | 0xFF45 => todo!(), /// LYC LY compare R/W All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 133 | / 0xFF46 => todo!(), /// DMA OAM DMA source address & start R/W All [INFO] [stdout] 134 | | 0xFF47 => todo!(), /// BGP BG palette data R/W DMG [INFO] [stdout] 135 | | 0xFF48 => todo!(), /// OBP0 OBJ palette 0 data R/W DMG [INFO] [stdout] 136 | | 0xFF49 => todo!(), /// OBP1 OBJ palette 1 data R/W DMG [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:133:32 [INFO] [stdout] | [INFO] [stdout] 133 | 0xFF46 => todo!(), /// DMA OAM DMA source address & start R/W All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 134 | / 0xFF47 => todo!(), /// BGP BG palette data R/W DMG [INFO] [stdout] 135 | | 0xFF48 => todo!(), /// OBP0 OBJ palette 0 data R/W DMG [INFO] [stdout] 136 | | 0xFF49 => todo!(), /// OBP1 OBJ palette 1 data R/W DMG [INFO] [stdout] 137 | | 0xFF4A => todo!(), /// WY Window Y position R/W All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:134:32 [INFO] [stdout] | [INFO] [stdout] 134 | 0xFF47 => todo!(), /// BGP BG palette data R/W DMG [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 135 | / 0xFF48 => todo!(), /// OBP0 OBJ palette 0 data R/W DMG [INFO] [stdout] 136 | | 0xFF49 => todo!(), /// OBP1 OBJ palette 1 data R/W DMG [INFO] [stdout] 137 | | 0xFF4A => todo!(), /// WY Window Y position R/W All [INFO] [stdout] 138 | | 0xFF4B => todo!(), /// WX Window X position plus 7 R/W All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:135:32 [INFO] [stdout] | [INFO] [stdout] 135 | 0xFF48 => todo!(), /// OBP0 OBJ palette 0 data R/W DMG [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 136 | / 0xFF49 => todo!(), /// OBP1 OBJ palette 1 data R/W DMG [INFO] [stdout] 137 | | 0xFF4A => todo!(), /// WY Window Y position R/W All [INFO] [stdout] 138 | | 0xFF4B => todo!(), /// WX Window X position plus 7 R/W All [INFO] [stdout] 139 | | 0xFF4D => todo!(), /// KEY1 Prepare speed switch Mixed CGB [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:136:32 [INFO] [stdout] | [INFO] [stdout] 136 | 0xFF49 => todo!(), /// OBP1 OBJ palette 1 data R/W DMG [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 137 | / 0xFF4A => todo!(), /// WY Window Y position R/W All [INFO] [stdout] 138 | | 0xFF4B => todo!(), /// WX Window X position plus 7 R/W All [INFO] [stdout] 139 | | 0xFF4D => todo!(), /// KEY1 Prepare speed switch Mixed CGB [INFO] [stdout] 140 | | 0xFF4F => self.video.get(addr), /// VBK VRAM bank R/W CGB [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:137:32 [INFO] [stdout] | [INFO] [stdout] 137 | 0xFF4A => todo!(), /// WY Window Y position R/W All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 138 | / 0xFF4B => todo!(), /// WX Window X position plus 7 R/W All [INFO] [stdout] 139 | | 0xFF4D => todo!(), /// KEY1 Prepare speed switch Mixed CGB [INFO] [stdout] 140 | | 0xFF4F => self.video.get(addr), /// VBK VRAM bank R/W CGB [INFO] [stdout] 141 | | 0xFF51 => todo!(), /// HDMA1 VRAM DMA source high W CGB [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:138:32 [INFO] [stdout] | [INFO] [stdout] 138 | 0xFF4B => todo!(), /// WX Window X position plus 7 R/W All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 139 | / 0xFF4D => todo!(), /// KEY1 Prepare speed switch Mixed CGB [INFO] [stdout] 140 | | 0xFF4F => self.video.get(addr), /// VBK VRAM bank R/W CGB [INFO] [stdout] 141 | | 0xFF51 => todo!(), /// HDMA1 VRAM DMA source high W CGB [INFO] [stdout] 142 | | 0xFF52 => todo!(), /// HDMA2 VRAM DMA source low W CGB [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:139:32 [INFO] [stdout] | [INFO] [stdout] 139 | 0xFF4D => todo!(), /// KEY1 Prepare speed switch Mixed CGB [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 140 | 0xFF4F => self.video.get(addr), /// VBK VRAM bank R/W CGB [INFO] [stdout] | ------------------------------ rustdoc does not generate documentation for match arms [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:140:45 [INFO] [stdout] | [INFO] [stdout] 140 | 0xFF4F => self.video.get(addr), /// VBK VRAM bank R/W CGB [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 141 | / 0xFF51 => todo!(), /// HDMA1 VRAM DMA source high W CGB [INFO] [stdout] 142 | | 0xFF52 => todo!(), /// HDMA2 VRAM DMA source low W CGB [INFO] [stdout] 143 | | 0xFF53 => todo!(), /// HDMA3 VRAM DMA destination high W CGB [INFO] [stdout] 144 | | 0xFF54 => todo!(), /// HDMA4 VRAM DMA destination low W CGB [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:141:32 [INFO] [stdout] | [INFO] [stdout] 141 | 0xFF51 => todo!(), /// HDMA1 VRAM DMA source high W CGB [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 142 | / 0xFF52 => todo!(), /// HDMA2 VRAM DMA source low W CGB [INFO] [stdout] 143 | | 0xFF53 => todo!(), /// HDMA3 VRAM DMA destination high W CGB [INFO] [stdout] 144 | | 0xFF54 => todo!(), /// HDMA4 VRAM DMA destination low W CGB [INFO] [stdout] 145 | | 0xFF55 => todo!(), /// HDMA5 VRAM DMA length/mode/start R/W CGB [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:142:32 [INFO] [stdout] | [INFO] [stdout] 142 | 0xFF52 => todo!(), /// HDMA2 VRAM DMA source low W CGB [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 143 | / 0xFF53 => todo!(), /// HDMA3 VRAM DMA destination high W CGB [INFO] [stdout] 144 | | 0xFF54 => todo!(), /// HDMA4 VRAM DMA destination low W CGB [INFO] [stdout] 145 | | 0xFF55 => todo!(), /// HDMA5 VRAM DMA length/mode/start R/W CGB [INFO] [stdout] 146 | | 0xFF56 => todo!(), /// RP Infrared communications port Mixed CGB [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:143:32 [INFO] [stdout] | [INFO] [stdout] 143 | 0xFF53 => todo!(), /// HDMA3 VRAM DMA destination high W CGB [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 144 | / 0xFF54 => todo!(), /// HDMA4 VRAM DMA destination low W CGB [INFO] [stdout] 145 | | 0xFF55 => todo!(), /// HDMA5 VRAM DMA length/mode/start R/W CGB [INFO] [stdout] 146 | | 0xFF56 => todo!(), /// RP Infrared communications port Mixed CGB [INFO] [stdout] 147 | | 0xFF68 => todo!(), /// BCPS/BGPI Background color palette specification / Background palette index R/W CGB [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:144:32 [INFO] [stdout] | [INFO] [stdout] 144 | 0xFF54 => todo!(), /// HDMA4 VRAM DMA destination low W CGB [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 145 | / 0xFF55 => todo!(), /// HDMA5 VRAM DMA length/mode/start R/W CGB [INFO] [stdout] 146 | | 0xFF56 => todo!(), /// RP Infrared communications port Mixed CGB [INFO] [stdout] 147 | | 0xFF68 => todo!(), /// BCPS/BGPI Background color palette specification / Background palette index R/W CGB [INFO] [stdout] 148 | | 0xFF69 => todo!(), /// BCPD/BGPD Background color palette data / Background palette data R/W CGB [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:145:32 [INFO] [stdout] | [INFO] [stdout] 145 | 0xFF55 => todo!(), /// HDMA5 VRAM DMA length/mode/start R/W CGB [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 146 | / 0xFF56 => todo!(), /// RP Infrared communications port Mixed CGB [INFO] [stdout] 147 | | 0xFF68 => todo!(), /// BCPS/BGPI Background color palette specification / Background palette index R/W CGB [INFO] [stdout] 148 | | 0xFF69 => todo!(), /// BCPD/BGPD Background color palette data / Background palette data R/W CGB [INFO] [stdout] 149 | | 0xFF6A => todo!(), /// OCPS/OBPI OBJ color palette specification / OBJ palette index R/W CGB [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:146:32 [INFO] [stdout] | [INFO] [stdout] 146 | 0xFF56 => todo!(), /// RP Infrared communications port Mixed CGB [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 147 | / 0xFF68 => todo!(), /// BCPS/BGPI Background color palette specification / Background palette index R/W CGB [INFO] [stdout] 148 | | 0xFF69 => todo!(), /// BCPD/BGPD Background color palette data / Background palette data R/W CGB [INFO] [stdout] 149 | | 0xFF6A => todo!(), /// OCPS/OBPI OBJ color palette specification / OBJ palette index R/W CGB [INFO] [stdout] 150 | | 0xFF6B => todo!(), /// OCPD/OBPD OBJ color palette data / OBJ palette data R/W CGB [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:147:32 [INFO] [stdout] | [INFO] [stdout] 147 | 0xFF68 => todo!(), /// BCPS/BGPI Background color palette specification / Background palette index R/W CGB [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 148 | / 0xFF69 => todo!(), /// BCPD/BGPD Background color palette data / Background palette data R/W CGB [INFO] [stdout] 149 | | 0xFF6A => todo!(), /// OCPS/OBPI OBJ color palette specification / OBJ palette index R/W CGB [INFO] [stdout] 150 | | 0xFF6B => todo!(), /// OCPD/OBPD OBJ color palette data / OBJ palette data R/W CGB [INFO] [stdout] 151 | | 0xFF6C => todo!(), /// OPRI Object priority mode R/W CGB [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:148:32 [INFO] [stdout] | [INFO] [stdout] 148 | 0xFF69 => todo!(), /// BCPD/BGPD Background color palette data / Background palette data R/W CGB [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 149 | / 0xFF6A => todo!(), /// OCPS/OBPI OBJ color palette specification / OBJ palette index R/W CGB [INFO] [stdout] 150 | | 0xFF6B => todo!(), /// OCPD/OBPD OBJ color palette data / OBJ palette data R/W CGB [INFO] [stdout] 151 | | 0xFF6C => todo!(), /// OPRI Object priority mode R/W CGB [INFO] [stdout] 152 | | 0xFF70 => self.work_ram.get(addr), /// SVBK WRAM bank R/W CGB [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:149:32 [INFO] [stdout] | [INFO] [stdout] 149 | 0xFF6A => todo!(), /// OCPS/OBPI OBJ color palette specification / OBJ palette index R/W CGB [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 150 | / 0xFF6B => todo!(), /// OCPD/OBPD OBJ color palette data / OBJ palette data R/W CGB [INFO] [stdout] 151 | | 0xFF6C => todo!(), /// OPRI Object priority mode R/W CGB [INFO] [stdout] 152 | | 0xFF70 => self.work_ram.get(addr), /// SVBK WRAM bank R/W CGB [INFO] [stdout] 153 | | 0xFF76 => todo!(), /// PCM12 Audio digital outputs 1 & 2 R CGB [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:150:32 [INFO] [stdout] | [INFO] [stdout] 150 | 0xFF6B => todo!(), /// OCPD/OBPD OBJ color palette data / OBJ palette data R/W CGB [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 151 | / 0xFF6C => todo!(), /// OPRI Object priority mode R/W CGB [INFO] [stdout] 152 | | 0xFF70 => self.work_ram.get(addr), /// SVBK WRAM bank R/W CGB [INFO] [stdout] 153 | | 0xFF76 => todo!(), /// PCM12 Audio digital outputs 1 & 2 R CGB [INFO] [stdout] 154 | | 0xFF77 => todo!(), /// PCM34 Audio digital outputs 3 & 4 R CGB [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:151:32 [INFO] [stdout] | [INFO] [stdout] 151 | 0xFF6C => todo!(), /// OPRI Object priority mode R/W CGB [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 152 | 0xFF70 => self.work_ram.get(addr), /// SVBK WRAM bank R/W CGB [INFO] [stdout] | --------------------------------- rustdoc does not generate documentation for match arms [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:152:48 [INFO] [stdout] | [INFO] [stdout] 152 | 0xFF70 => self.work_ram.get(addr), /// SVBK WRAM bank R/W CGB [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 153 | / 0xFF76 => todo!(), /// PCM12 Audio digital outputs 1 & 2 R CGB [INFO] [stdout] 154 | | 0xFF77 => todo!(), /// PCM34 Audio digital outputs 3 & 4 R CGB [INFO] [stdout] 155 | | 0xFF80..=0xFFFE => self.work_ram.get(addr), [INFO] [stdout] 156 | | 0xFFFF => self.interrupt.borrow().get(addr), [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:153:32 [INFO] [stdout] | [INFO] [stdout] 153 | 0xFF76 => todo!(), /// PCM12 Audio digital outputs 1 & 2 R CGB [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 154 | / 0xFF77 => todo!(), /// PCM34 Audio digital outputs 3 & 4 R CGB [INFO] [stdout] 155 | | 0xFF80..=0xFFFE => self.work_ram.get(addr), [INFO] [stdout] 156 | | 0xFFFF => self.interrupt.borrow().get(addr), [INFO] [stdout] 157 | | addr => panic!("MMU access denied, addr: 0x{:04X}", addr), [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:154:32 [INFO] [stdout] | [INFO] [stdout] 154 | 0xFF77 => todo!(), /// PCM34 Audio digital outputs 3 & 4 R CGB [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 155 | 0xFF80..=0xFFFE => self.work_ram.get(addr), [INFO] [stdout] | ------------------------------------------ rustdoc does not generate documentation for match arms [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:171:32 [INFO] [stdout] | [INFO] [stdout] 171 | 0xFF01 => todo!(), /// SB Serial transfer data R/W All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 172 | / 0xFF02 => todo!(), /// SC Serial transfer control R/W Mixed [INFO] [stdout] 173 | | 0xFF04 => todo!(), /// DIV Divider register R/W All [INFO] [stdout] 174 | | 0xFF05 => todo!(), /// TIMA Timer counter R/W All [INFO] [stdout] 175 | | 0xFF06 => todo!(), /// TMA Timer modulo R/W All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:172:32 [INFO] [stdout] | [INFO] [stdout] 172 | 0xFF02 => todo!(), /// SC Serial transfer control R/W Mixed [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 173 | / 0xFF04 => todo!(), /// DIV Divider register R/W All [INFO] [stdout] 174 | | 0xFF05 => todo!(), /// TIMA Timer counter R/W All [INFO] [stdout] 175 | | 0xFF06 => todo!(), /// TMA Timer modulo R/W All [INFO] [stdout] 176 | | 0xFF07 => todo!(), /// TAC Timer control R/W All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:173:32 [INFO] [stdout] | [INFO] [stdout] 173 | 0xFF04 => todo!(), /// DIV Divider register R/W All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 174 | / 0xFF05 => todo!(), /// TIMA Timer counter R/W All [INFO] [stdout] 175 | | 0xFF06 => todo!(), /// TMA Timer modulo R/W All [INFO] [stdout] 176 | | 0xFF07 => todo!(), /// TAC Timer control R/W All [INFO] [stdout] 177 | | 0xFF0F => self.interrupt.borrow_mut().set(addr, v), [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:174:32 [INFO] [stdout] | [INFO] [stdout] 174 | 0xFF05 => todo!(), /// TIMA Timer counter R/W All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 175 | / 0xFF06 => todo!(), /// TMA Timer modulo R/W All [INFO] [stdout] 176 | | 0xFF07 => todo!(), /// TAC Timer control R/W All [INFO] [stdout] 177 | | 0xFF0F => self.interrupt.borrow_mut().set(addr, v), [INFO] [stdout] 178 | | 0xFF10 => todo!(), /// NR10 Sound channel 1 sweep R/W All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:175:32 [INFO] [stdout] | [INFO] [stdout] 175 | 0xFF06 => todo!(), /// TMA Timer modulo R/W All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 176 | / 0xFF07 => todo!(), /// TAC Timer control R/W All [INFO] [stdout] 177 | | 0xFF0F => self.interrupt.borrow_mut().set(addr, v), [INFO] [stdout] 178 | | 0xFF10 => todo!(), /// NR10 Sound channel 1 sweep R/W All [INFO] [stdout] 179 | | 0xFF11 => todo!(), /// NR11 Sound channel 1 length timer & duty cycle Mixed All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:176:32 [INFO] [stdout] | [INFO] [stdout] 176 | 0xFF07 => todo!(), /// TAC Timer control R/W All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 177 | 0xFF0F => self.interrupt.borrow_mut().set(addr, v), [INFO] [stdout] | -------------------------------------------------- rustdoc does not generate documentation for match arms [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:178:32 [INFO] [stdout] | [INFO] [stdout] 178 | 0xFF10 => todo!(), /// NR10 Sound channel 1 sweep R/W All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 179 | / 0xFF11 => todo!(), /// NR11 Sound channel 1 length timer & duty cycle Mixed All [INFO] [stdout] 180 | | 0xFF12 => todo!(), /// NR12 Sound channel 1 volume & envelope R/W All [INFO] [stdout] 181 | | 0xFF13 => todo!(), /// NR13 Sound channel 1 period low W All [INFO] [stdout] 182 | | 0xFF14 => todo!(), /// NR14 Sound channel 1 period high & control Mixed All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:179:32 [INFO] [stdout] | [INFO] [stdout] 179 | 0xFF11 => todo!(), /// NR11 Sound channel 1 length timer & duty cycle Mixed All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 180 | / 0xFF12 => todo!(), /// NR12 Sound channel 1 volume & envelope R/W All [INFO] [stdout] 181 | | 0xFF13 => todo!(), /// NR13 Sound channel 1 period low W All [INFO] [stdout] 182 | | 0xFF14 => todo!(), /// NR14 Sound channel 1 period high & control Mixed All [INFO] [stdout] 183 | | 0xFF16 => todo!(), /// NR21 Sound channel 2 length timer & duty cycle Mixed All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:180:32 [INFO] [stdout] | [INFO] [stdout] 180 | 0xFF12 => todo!(), /// NR12 Sound channel 1 volume & envelope R/W All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 181 | / 0xFF13 => todo!(), /// NR13 Sound channel 1 period low W All [INFO] [stdout] 182 | | 0xFF14 => todo!(), /// NR14 Sound channel 1 period high & control Mixed All [INFO] [stdout] 183 | | 0xFF16 => todo!(), /// NR21 Sound channel 2 length timer & duty cycle Mixed All [INFO] [stdout] 184 | | 0xFF17 => todo!(), /// NR22 Sound channel 2 volume & envelope R/W All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:181:32 [INFO] [stdout] | [INFO] [stdout] 181 | 0xFF13 => todo!(), /// NR13 Sound channel 1 period low W All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 182 | / 0xFF14 => todo!(), /// NR14 Sound channel 1 period high & control Mixed All [INFO] [stdout] 183 | | 0xFF16 => todo!(), /// NR21 Sound channel 2 length timer & duty cycle Mixed All [INFO] [stdout] 184 | | 0xFF17 => todo!(), /// NR22 Sound channel 2 volume & envelope R/W All [INFO] [stdout] 185 | | 0xFF18 => todo!(), /// NR23 Sound channel 2 period low W All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:182:32 [INFO] [stdout] | [INFO] [stdout] 182 | 0xFF14 => todo!(), /// NR14 Sound channel 1 period high & control Mixed All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 183 | / 0xFF16 => todo!(), /// NR21 Sound channel 2 length timer & duty cycle Mixed All [INFO] [stdout] 184 | | 0xFF17 => todo!(), /// NR22 Sound channel 2 volume & envelope R/W All [INFO] [stdout] 185 | | 0xFF18 => todo!(), /// NR23 Sound channel 2 period low W All [INFO] [stdout] 186 | | 0xFF19 => todo!(), /// NR24 Sound channel 2 period high & control Mixed All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:183:32 [INFO] [stdout] | [INFO] [stdout] 183 | 0xFF16 => todo!(), /// NR21 Sound channel 2 length timer & duty cycle Mixed All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 184 | / 0xFF17 => todo!(), /// NR22 Sound channel 2 volume & envelope R/W All [INFO] [stdout] 185 | | 0xFF18 => todo!(), /// NR23 Sound channel 2 period low W All [INFO] [stdout] 186 | | 0xFF19 => todo!(), /// NR24 Sound channel 2 period high & control Mixed All [INFO] [stdout] 187 | | 0xFF1A => todo!(), /// NR30 Sound channel 3 DAC enable R/W All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:184:32 [INFO] [stdout] | [INFO] [stdout] 184 | 0xFF17 => todo!(), /// NR22 Sound channel 2 volume & envelope R/W All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 185 | / 0xFF18 => todo!(), /// NR23 Sound channel 2 period low W All [INFO] [stdout] 186 | | 0xFF19 => todo!(), /// NR24 Sound channel 2 period high & control Mixed All [INFO] [stdout] 187 | | 0xFF1A => todo!(), /// NR30 Sound channel 3 DAC enable R/W All [INFO] [stdout] 188 | | 0xFF1B => todo!(), /// NR31 Sound channel 3 length timer W All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:185:32 [INFO] [stdout] | [INFO] [stdout] 185 | 0xFF18 => todo!(), /// NR23 Sound channel 2 period low W All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 186 | / 0xFF19 => todo!(), /// NR24 Sound channel 2 period high & control Mixed All [INFO] [stdout] 187 | | 0xFF1A => todo!(), /// NR30 Sound channel 3 DAC enable R/W All [INFO] [stdout] 188 | | 0xFF1B => todo!(), /// NR31 Sound channel 3 length timer W All [INFO] [stdout] 189 | | 0xFF1C => todo!(), /// NR32 Sound channel 3 output level R/W All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:186:32 [INFO] [stdout] | [INFO] [stdout] 186 | 0xFF19 => todo!(), /// NR24 Sound channel 2 period high & control Mixed All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 187 | / 0xFF1A => todo!(), /// NR30 Sound channel 3 DAC enable R/W All [INFO] [stdout] 188 | | 0xFF1B => todo!(), /// NR31 Sound channel 3 length timer W All [INFO] [stdout] 189 | | 0xFF1C => todo!(), /// NR32 Sound channel 3 output level R/W All [INFO] [stdout] 190 | | 0xFF1D => todo!(), /// NR33 Sound channel 3 period low W All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:187:32 [INFO] [stdout] | [INFO] [stdout] 187 | 0xFF1A => todo!(), /// NR30 Sound channel 3 DAC enable R/W All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 188 | / 0xFF1B => todo!(), /// NR31 Sound channel 3 length timer W All [INFO] [stdout] 189 | | 0xFF1C => todo!(), /// NR32 Sound channel 3 output level R/W All [INFO] [stdout] 190 | | 0xFF1D => todo!(), /// NR33 Sound channel 3 period low W All [INFO] [stdout] 191 | | 0xFF1E => todo!(), /// NR34 Sound channel 3 period high & control Mixed All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Memory` [INFO] [stdout] --> src/cpu/mod.rs:5:18 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::mmu::{Memory, RefMemory}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:188:32 [INFO] [stdout] | [INFO] [stdout] 188 | 0xFF1B => todo!(), /// NR31 Sound channel 3 length timer W All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 189 | / 0xFF1C => todo!(), /// NR32 Sound channel 3 output level R/W All [INFO] [stdout] 190 | | 0xFF1D => todo!(), /// NR33 Sound channel 3 period low W All [INFO] [stdout] 191 | | 0xFF1E => todo!(), /// NR34 Sound channel 3 period high & control Mixed All [INFO] [stdout] 192 | | 0xFF20 => todo!(), /// NR41 Sound channel 4 length timer W All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:189:32 [INFO] [stdout] | [INFO] [stdout] 189 | 0xFF1C => todo!(), /// NR32 Sound channel 3 output level R/W All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 190 | / 0xFF1D => todo!(), /// NR33 Sound channel 3 period low W All [INFO] [stdout] 191 | | 0xFF1E => todo!(), /// NR34 Sound channel 3 period high & control Mixed All [INFO] [stdout] 192 | | 0xFF20 => todo!(), /// NR41 Sound channel 4 length timer W All [INFO] [stdout] 193 | | 0xFF21 => todo!(), /// NR42 Sound channel 4 volume & envelope R/W All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::cpu::CPU` [INFO] [stdout] --> src/cpu/lr35902/opcode/mod.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::cpu::CPU; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:190:32 [INFO] [stdout] | [INFO] [stdout] 190 | 0xFF1D => todo!(), /// NR33 Sound channel 3 period low W All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 191 | / 0xFF1E => todo!(), /// NR34 Sound channel 3 period high & control Mixed All [INFO] [stdout] 192 | | 0xFF20 => todo!(), /// NR41 Sound channel 4 length timer W All [INFO] [stdout] 193 | | 0xFF21 => todo!(), /// NR42 Sound channel 4 volume & envelope R/W All [INFO] [stdout] 194 | | 0xFF22 => todo!(), /// NR43 Sound channel 4 frequency & randomness R/W All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:191:32 [INFO] [stdout] | [INFO] [stdout] 191 | 0xFF1E => todo!(), /// NR34 Sound channel 3 period high & control Mixed All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 192 | / 0xFF20 => todo!(), /// NR41 Sound channel 4 length timer W All [INFO] [stdout] 193 | | 0xFF21 => todo!(), /// NR42 Sound channel 4 volume & envelope R/W All [INFO] [stdout] 194 | | 0xFF22 => todo!(), /// NR43 Sound channel 4 frequency & randomness R/W All [INFO] [stdout] 195 | | 0xFF23 => todo!(), /// NR44 Sound channel 4 control Mixed All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:192:32 [INFO] [stdout] | [INFO] [stdout] 192 | 0xFF20 => todo!(), /// NR41 Sound channel 4 length timer W All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 193 | / 0xFF21 => todo!(), /// NR42 Sound channel 4 volume & envelope R/W All [INFO] [stdout] 194 | | 0xFF22 => todo!(), /// NR43 Sound channel 4 frequency & randomness R/W All [INFO] [stdout] 195 | | 0xFF23 => todo!(), /// NR44 Sound channel 4 control Mixed All [INFO] [stdout] 196 | | 0xFF24 => todo!(), /// NR50 Master volume & VIN panning R/W All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:193:32 [INFO] [stdout] | [INFO] [stdout] 193 | 0xFF21 => todo!(), /// NR42 Sound channel 4 volume & envelope R/W All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 194 | / 0xFF22 => todo!(), /// NR43 Sound channel 4 frequency & randomness R/W All [INFO] [stdout] 195 | | 0xFF23 => todo!(), /// NR44 Sound channel 4 control Mixed All [INFO] [stdout] 196 | | 0xFF24 => todo!(), /// NR50 Master volume & VIN panning R/W All [INFO] [stdout] 197 | | 0xFF25 => todo!(), /// NR51 Sound panning R/W All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression [INFO] [stdout] --> src/cpu/lr35902/opcode/cbprefixed_opcode.rs:156:31 [INFO] [stdout] | [INFO] [stdout] 156 | let n = match (opcode) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 156 - let n = match (opcode) { [INFO] [stdout] 156 + let n = match opcode { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:194:32 [INFO] [stdout] | [INFO] [stdout] 194 | 0xFF22 => todo!(), /// NR43 Sound channel 4 frequency & randomness R/W All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 195 | / 0xFF23 => todo!(), /// NR44 Sound channel 4 control Mixed All [INFO] [stdout] 196 | | 0xFF24 => todo!(), /// NR50 Master volume & VIN panning R/W All [INFO] [stdout] 197 | | 0xFF25 => todo!(), /// NR51 Sound panning R/W All [INFO] [stdout] 198 | | 0xFF26 => todo!(), /// NR52 Sound on/off Mixed All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression [INFO] [stdout] --> src/cpu/lr35902/opcode/cbprefixed_opcode.rs:181:31 [INFO] [stdout] | [INFO] [stdout] 181 | let n = match (opcode) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 181 - let n = match (opcode) { [INFO] [stdout] 181 + let n = match opcode { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:195:32 [INFO] [stdout] | [INFO] [stdout] 195 | 0xFF23 => todo!(), /// NR44 Sound channel 4 control Mixed All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 196 | / 0xFF24 => todo!(), /// NR50 Master volume & VIN panning R/W All [INFO] [stdout] 197 | | 0xFF25 => todo!(), /// NR51 Sound panning R/W All [INFO] [stdout] 198 | | 0xFF26 => todo!(), /// NR52 Sound on/off Mixed All [INFO] [stdout] 199 | | 0xFF30..=0xFF3F => todo!(), /// Wave RAM Storage for one of the sound channels’ waveform R/W All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression [INFO] [stdout] --> src/cpu/lr35902/opcode/cbprefixed_opcode.rs:208:31 [INFO] [stdout] | [INFO] [stdout] 208 | let n = match (opcode) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 208 - let n = match (opcode) { [INFO] [stdout] 208 + let n = match opcode { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:196:32 [INFO] [stdout] | [INFO] [stdout] 196 | 0xFF24 => todo!(), /// NR50 Master volume & VIN panning R/W All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 197 | / 0xFF25 => todo!(), /// NR51 Sound panning R/W All [INFO] [stdout] 198 | | 0xFF26 => todo!(), /// NR52 Sound on/off Mixed All [INFO] [stdout] 199 | | 0xFF30..=0xFF3F => todo!(), /// Wave RAM Storage for one of the sound channels’ waveform R/W All [INFO] [stdout] 200 | | 0xFF40 => todo!(), /// LCDC LCD control R/W All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression [INFO] [stdout] --> src/cpu/lr35902/opcode/cbprefixed_opcode.rs:238:15 [INFO] [stdout] | [INFO] [stdout] 238 | match (opcode & 0x0F) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 238 - match (opcode & 0x0F) { [INFO] [stdout] 238 + match opcode & 0x0F { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:197:32 [INFO] [stdout] | [INFO] [stdout] 197 | 0xFF25 => todo!(), /// NR51 Sound panning R/W All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 198 | / 0xFF26 => todo!(), /// NR52 Sound on/off Mixed All [INFO] [stdout] 199 | | 0xFF30..=0xFF3F => todo!(), /// Wave RAM Storage for one of the sound channels’ waveform R/W All [INFO] [stdout] 200 | | 0xFF40 => todo!(), /// LCDC LCD control R/W All [INFO] [stdout] 201 | | 0xFF41 => todo!(), /// STAT LCD status Mixed All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/cpu/lr35902/opcode/cbprefixed_opcode.rs:280:19 [INFO] [stdout] | [INFO] [stdout] 280 | let res = (val >> 1); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 280 - let res = (val >> 1); [INFO] [stdout] 280 + let res = val >> 1; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cell::RefCell` [INFO] [stdout] --> src/tests/cpu_instrs.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::cell::RefCell; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:198:32 [INFO] [stdout] | [INFO] [stdout] 198 | 0xFF26 => todo!(), /// NR52 Sound on/off Mixed All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 199 | / 0xFF30..=0xFF3F => todo!(), /// Wave RAM Storage for one of the sound channels’ waveform R/W All [INFO] [stdout] 200 | | 0xFF40 => todo!(), /// LCDC LCD control R/W All [INFO] [stdout] 201 | | 0xFF41 => todo!(), /// STAT LCD status Mixed All [INFO] [stdout] 202 | | 0xFF42 => todo!(), /// SCY Viewport Y position R/W All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::rc::Rc` [INFO] [stdout] --> src/tests/cpu_instrs.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::rc::Rc; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `GBTerm` and `cpu` [INFO] [stdout] --> src/tests/cpu_instrs.rs:4:13 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::{cpu, GBTerm}; [INFO] [stdout] | ^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:199:41 [INFO] [stdout] | [INFO] [stdout] 199 | 0xFF30..=0xFF3F => todo!(), /// Wave RAM Storage for one of the sound channels’ waveform R/W All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 200 | / 0xFF40 => todo!(), /// LCDC LCD control R/W All [INFO] [stdout] 201 | | 0xFF41 => todo!(), /// STAT LCD status Mixed All [INFO] [stdout] 202 | | 0xFF42 => todo!(), /// SCY Viewport Y position R/W All [INFO] [stdout] 203 | | 0xFF43 => todo!(), /// SCX Viewport X position R/W All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::cpu::CPU` [INFO] [stdout] --> src/tests/cpu_instrs.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::cpu::CPU; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:200:32 [INFO] [stdout] | [INFO] [stdout] 200 | 0xFF40 => todo!(), /// LCDC LCD control R/W All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 201 | / 0xFF41 => todo!(), /// STAT LCD status Mixed All [INFO] [stdout] 202 | | 0xFF42 => todo!(), /// SCY Viewport Y position R/W All [INFO] [stdout] 203 | | 0xFF43 => todo!(), /// SCX Viewport X position R/W All [INFO] [stdout] 204 | | 0xFF44 => todo!(), /// LY LCD Y coordinate R All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:201:32 [INFO] [stdout] | [INFO] [stdout] 201 | 0xFF41 => todo!(), /// STAT LCD status Mixed All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 202 | / 0xFF42 => todo!(), /// SCY Viewport Y position R/W All [INFO] [stdout] 203 | | 0xFF43 => todo!(), /// SCX Viewport X position R/W All [INFO] [stdout] 204 | | 0xFF44 => todo!(), /// LY LCD Y coordinate R All [INFO] [stdout] 205 | | 0xFF45 => todo!(), /// LYC LY compare R/W All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::io_device::cartridge` [INFO] [stdout] --> src/tests/cpu_instrs.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::io_device::cartridge; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:202:32 [INFO] [stdout] | [INFO] [stdout] 202 | 0xFF42 => todo!(), /// SCY Viewport Y position R/W All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 203 | / 0xFF43 => todo!(), /// SCX Viewport X position R/W All [INFO] [stdout] 204 | | 0xFF44 => todo!(), /// LY LCD Y coordinate R All [INFO] [stdout] 205 | | 0xFF45 => todo!(), /// LYC LY compare R/W All [INFO] [stdout] 206 | | 0xFF46 => todo!(), /// DMA OAM DMA source address & start R/W All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::mmu::MMU` [INFO] [stdout] --> src/tests/cpu_instrs.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::mmu::MMU; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:203:32 [INFO] [stdout] | [INFO] [stdout] 203 | 0xFF43 => todo!(), /// SCX Viewport X position R/W All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 204 | / 0xFF44 => todo!(), /// LY LCD Y coordinate R All [INFO] [stdout] 205 | | 0xFF45 => todo!(), /// LYC LY compare R/W All [INFO] [stdout] 206 | | 0xFF46 => todo!(), /// DMA OAM DMA source address & start R/W All [INFO] [stdout] 207 | | 0xFF47 => todo!(), /// BGP BG palette data R/W DMG [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `RefCell` [INFO] [stdout] --> src/mother_board.rs:1:22 [INFO] [stdout] | [INFO] [stdout] 1 | use std::cell::{Ref, RefCell}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:204:32 [INFO] [stdout] | [INFO] [stdout] 204 | 0xFF44 => todo!(), /// LY LCD Y coordinate R All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 205 | / 0xFF45 => todo!(), /// LYC LY compare R/W All [INFO] [stdout] 206 | | 0xFF46 => todo!(), /// DMA OAM DMA source address & start R/W All [INFO] [stdout] 207 | | 0xFF47 => todo!(), /// BGP BG palette data R/W DMG [INFO] [stdout] 208 | | 0xFF48 => todo!(), /// OBP0 OBJ palette 0 data R/W DMG [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Memory` [INFO] [stdout] --> src/mother_board.rs:9:18 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::mmu::{Memory, MMU, RefMemory}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:205:32 [INFO] [stdout] | [INFO] [stdout] 205 | 0xFF45 => todo!(), /// LYC LY compare R/W All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 206 | / 0xFF46 => todo!(), /// DMA OAM DMA source address & start R/W All [INFO] [stdout] 207 | | 0xFF47 => todo!(), /// BGP BG palette data R/W DMG [INFO] [stdout] 208 | | 0xFF48 => todo!(), /// OBP0 OBJ palette 0 data R/W DMG [INFO] [stdout] 209 | | 0xFF49 => todo!(), /// OBP1 OBJ palette 1 data R/W DMG [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:98:32 [INFO] [stdout] | [INFO] [stdout] 98 | 0xFF01 => todo!(), /// SB Serial transfer data R/W All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 99 | / 0xFF02 => todo!(), /// SC Serial transfer control R/W Mixed [INFO] [stdout] 100| | 0xFF04 => todo!(), /// DIV Divider register R/W All [INFO] [stdout] 101| | 0xFF05 => todo!(), /// TIMA Timer counter R/W All [INFO] [stdout] 102| | 0xFF06 => todo!(), /// TMA Timer modulo R/W All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] = note: `#[warn(unused_doc_comments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:99:32 [INFO] [stdout] | [INFO] [stdout] 99 | 0xFF02 => todo!(), /// SC Serial transfer control R/W Mixed [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 100| / 0xFF04 => todo!(), /// DIV Divider register R/W All [INFO] [stdout] 101| | 0xFF05 => todo!(), /// TIMA Timer counter R/W All [INFO] [stdout] 102| | 0xFF06 => todo!(), /// TMA Timer modulo R/W All [INFO] [stdout] 103| | 0xFF07 => todo!(), /// TAC Timer control R/W All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:100:32 [INFO] [stdout] | [INFO] [stdout] 100 | 0xFF04 => todo!(), /// DIV Divider register R/W All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 101 | / 0xFF05 => todo!(), /// TIMA Timer counter R/W All [INFO] [stdout] 102 | | 0xFF06 => todo!(), /// TMA Timer modulo R/W All [INFO] [stdout] 103 | | 0xFF07 => todo!(), /// TAC Timer control R/W All [INFO] [stdout] 104 | | 0xFF0F => self.interrupt.borrow().get(addr), [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:206:32 [INFO] [stdout] | [INFO] [stdout] 206 | 0xFF46 => todo!(), /// DMA OAM DMA source address & start R/W All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 207 | / 0xFF47 => todo!(), /// BGP BG palette data R/W DMG [INFO] [stdout] 208 | | 0xFF48 => todo!(), /// OBP0 OBJ palette 0 data R/W DMG [INFO] [stdout] 209 | | 0xFF49 => todo!(), /// OBP1 OBJ palette 1 data R/W DMG [INFO] [stdout] 210 | | 0xFF4A => todo!(), /// WY Window Y position R/W All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:101:32 [INFO] [stdout] | [INFO] [stdout] 101 | 0xFF05 => todo!(), /// TIMA Timer counter R/W All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 102 | / 0xFF06 => todo!(), /// TMA Timer modulo R/W All [INFO] [stdout] 103 | | 0xFF07 => todo!(), /// TAC Timer control R/W All [INFO] [stdout] 104 | | 0xFF0F => self.interrupt.borrow().get(addr), [INFO] [stdout] 105 | | 0xFF10 => todo!(), /// NR10 Sound channel 1 sweep R/W All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:207:32 [INFO] [stdout] | [INFO] [stdout] 207 | 0xFF47 => todo!(), /// BGP BG palette data R/W DMG [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 208 | / 0xFF48 => todo!(), /// OBP0 OBJ palette 0 data R/W DMG [INFO] [stdout] 209 | | 0xFF49 => todo!(), /// OBP1 OBJ palette 1 data R/W DMG [INFO] [stdout] 210 | | 0xFF4A => todo!(), /// WY Window Y position R/W All [INFO] [stdout] 211 | | 0xFF4B => todo!(), /// WX Window X position plus 7 R/W All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:208:32 [INFO] [stdout] | [INFO] [stdout] 208 | 0xFF48 => todo!(), /// OBP0 OBJ palette 0 data R/W DMG [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 209 | / 0xFF49 => todo!(), /// OBP1 OBJ palette 1 data R/W DMG [INFO] [stdout] 210 | | 0xFF4A => todo!(), /// WY Window Y position R/W All [INFO] [stdout] 211 | | 0xFF4B => todo!(), /// WX Window X position plus 7 R/W All [INFO] [stdout] 212 | | 0xFF4D => todo!(), /// KEY1 Prepare speed switch Mixed CGB [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:209:32 [INFO] [stdout] | [INFO] [stdout] 209 | 0xFF49 => todo!(), /// OBP1 OBJ palette 1 data R/W DMG [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 210 | / 0xFF4A => todo!(), /// WY Window Y position R/W All [INFO] [stdout] 211 | | 0xFF4B => todo!(), /// WX Window X position plus 7 R/W All [INFO] [stdout] 212 | | 0xFF4D => todo!(), /// KEY1 Prepare speed switch Mixed CGB [INFO] [stdout] 213 | | 0xFF4F => self.video.set(addr, v), /// VBK VRAM bank R/W CGB [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:102:32 [INFO] [stdout] | [INFO] [stdout] 102 | 0xFF06 => todo!(), /// TMA Timer modulo R/W All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 103 | / 0xFF07 => todo!(), /// TAC Timer control R/W All [INFO] [stdout] 104 | | 0xFF0F => self.interrupt.borrow().get(addr), [INFO] [stdout] 105 | | 0xFF10 => todo!(), /// NR10 Sound channel 1 sweep R/W All [INFO] [stdout] 106 | | 0xFF11 => todo!(), /// NR11 Sound channel 1 length timer & duty cycle Mixed All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:210:32 [INFO] [stdout] | [INFO] [stdout] 210 | 0xFF4A => todo!(), /// WY Window Y position R/W All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 211 | / 0xFF4B => todo!(), /// WX Window X position plus 7 R/W All [INFO] [stdout] 212 | | 0xFF4D => todo!(), /// KEY1 Prepare speed switch Mixed CGB [INFO] [stdout] 213 | | 0xFF4F => self.video.set(addr, v), /// VBK VRAM bank R/W CGB [INFO] [stdout] 214 | | 0xFF51 => todo!(), /// HDMA1 VRAM DMA source high W CGB [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:103:32 [INFO] [stdout] | [INFO] [stdout] 103 | 0xFF07 => todo!(), /// TAC Timer control R/W All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 104 | 0xFF0F => self.interrupt.borrow().get(addr), [INFO] [stdout] | ------------------------------------------- rustdoc does not generate documentation for match arms [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:211:32 [INFO] [stdout] | [INFO] [stdout] 211 | 0xFF4B => todo!(), /// WX Window X position plus 7 R/W All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 212 | / 0xFF4D => todo!(), /// KEY1 Prepare speed switch Mixed CGB [INFO] [stdout] 213 | | 0xFF4F => self.video.set(addr, v), /// VBK VRAM bank R/W CGB [INFO] [stdout] 214 | | 0xFF51 => todo!(), /// HDMA1 VRAM DMA source high W CGB [INFO] [stdout] 215 | | 0xFF52 => todo!(), /// HDMA2 VRAM DMA source low W CGB [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:105:32 [INFO] [stdout] | [INFO] [stdout] 105 | 0xFF10 => todo!(), /// NR10 Sound channel 1 sweep R/W All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 106 | / 0xFF11 => todo!(), /// NR11 Sound channel 1 length timer & duty cycle Mixed All [INFO] [stdout] 107 | | 0xFF12 => todo!(), /// NR12 Sound channel 1 volume & envelope R/W All [INFO] [stdout] 108 | | 0xFF13 => todo!(), /// NR13 Sound channel 1 period low W All [INFO] [stdout] 109 | | 0xFF14 => todo!(), /// NR14 Sound channel 1 period high & control Mixed All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:212:32 [INFO] [stdout] | [INFO] [stdout] 212 | 0xFF4D => todo!(), /// KEY1 Prepare speed switch Mixed CGB [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 213 | 0xFF4F => self.video.set(addr, v), /// VBK VRAM bank R/W CGB [INFO] [stdout] | --------------------------------- rustdoc does not generate documentation for match arms [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:106:32 [INFO] [stdout] | [INFO] [stdout] 106 | 0xFF11 => todo!(), /// NR11 Sound channel 1 length timer & duty cycle Mixed All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 107 | / 0xFF12 => todo!(), /// NR12 Sound channel 1 volume & envelope R/W All [INFO] [stdout] 108 | | 0xFF13 => todo!(), /// NR13 Sound channel 1 period low W All [INFO] [stdout] 109 | | 0xFF14 => todo!(), /// NR14 Sound channel 1 period high & control Mixed All [INFO] [stdout] 110 | | 0xFF16 => todo!(), /// NR21 Sound channel 2 length timer & duty cycle Mixed All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:213:48 [INFO] [stdout] | [INFO] [stdout] 213 | 0xFF4F => self.video.set(addr, v), /// VBK VRAM bank R/W CGB [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 214 | / 0xFF51 => todo!(), /// HDMA1 VRAM DMA source high W CGB [INFO] [stdout] 215 | | 0xFF52 => todo!(), /// HDMA2 VRAM DMA source low W CGB [INFO] [stdout] 216 | | 0xFF53 => todo!(), /// HDMA3 VRAM DMA destination high W CGB [INFO] [stdout] 217 | | 0xFF54 => todo!(), /// HDMA4 VRAM DMA destination low W CGB [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:214:32 [INFO] [stdout] | [INFO] [stdout] 214 | 0xFF51 => todo!(), /// HDMA1 VRAM DMA source high W CGB [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 215 | / 0xFF52 => todo!(), /// HDMA2 VRAM DMA source low W CGB [INFO] [stdout] 216 | | 0xFF53 => todo!(), /// HDMA3 VRAM DMA destination high W CGB [INFO] [stdout] 217 | | 0xFF54 => todo!(), /// HDMA4 VRAM DMA destination low W CGB [INFO] [stdout] 218 | | 0xFF55 => todo!(), /// HDMA5 VRAM DMA length/mode/start R/W CGB [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:107:32 [INFO] [stdout] | [INFO] [stdout] 107 | 0xFF12 => todo!(), /// NR12 Sound channel 1 volume & envelope R/W All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 108 | / 0xFF13 => todo!(), /// NR13 Sound channel 1 period low W All [INFO] [stdout] 109 | | 0xFF14 => todo!(), /// NR14 Sound channel 1 period high & control Mixed All [INFO] [stdout] 110 | | 0xFF16 => todo!(), /// NR21 Sound channel 2 length timer & duty cycle Mixed All [INFO] [stdout] 111 | | 0xFF17 => todo!(), /// NR22 Sound channel 2 volume & envelope R/W All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:215:32 [INFO] [stdout] | [INFO] [stdout] 215 | 0xFF52 => todo!(), /// HDMA2 VRAM DMA source low W CGB [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 216 | / 0xFF53 => todo!(), /// HDMA3 VRAM DMA destination high W CGB [INFO] [stdout] 217 | | 0xFF54 => todo!(), /// HDMA4 VRAM DMA destination low W CGB [INFO] [stdout] 218 | | 0xFF55 => todo!(), /// HDMA5 VRAM DMA length/mode/start R/W CGB [INFO] [stdout] 219 | | 0xFF56 => todo!(), /// RP Infrared communications port Mixed CGB [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:108:32 [INFO] [stdout] | [INFO] [stdout] 108 | 0xFF13 => todo!(), /// NR13 Sound channel 1 period low W All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 109 | / 0xFF14 => todo!(), /// NR14 Sound channel 1 period high & control Mixed All [INFO] [stdout] 110 | | 0xFF16 => todo!(), /// NR21 Sound channel 2 length timer & duty cycle Mixed All [INFO] [stdout] 111 | | 0xFF17 => todo!(), /// NR22 Sound channel 2 volume & envelope R/W All [INFO] [stdout] 112 | | 0xFF18 => todo!(), /// NR23 Sound channel 2 period low W All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:216:32 [INFO] [stdout] | [INFO] [stdout] 216 | 0xFF53 => todo!(), /// HDMA3 VRAM DMA destination high W CGB [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 217 | / 0xFF54 => todo!(), /// HDMA4 VRAM DMA destination low W CGB [INFO] [stdout] 218 | | 0xFF55 => todo!(), /// HDMA5 VRAM DMA length/mode/start R/W CGB [INFO] [stdout] 219 | | 0xFF56 => todo!(), /// RP Infrared communications port Mixed CGB [INFO] [stdout] 220 | | 0xFF68 => todo!(), /// BCPS/BGPI Background color palette specification / Background palette index R/W CGB [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:109:32 [INFO] [stdout] | [INFO] [stdout] 109 | 0xFF14 => todo!(), /// NR14 Sound channel 1 period high & control Mixed All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 110 | / 0xFF16 => todo!(), /// NR21 Sound channel 2 length timer & duty cycle Mixed All [INFO] [stdout] 111 | | 0xFF17 => todo!(), /// NR22 Sound channel 2 volume & envelope R/W All [INFO] [stdout] 112 | | 0xFF18 => todo!(), /// NR23 Sound channel 2 period low W All [INFO] [stdout] 113 | | 0xFF19 => todo!(), /// NR24 Sound channel 2 period high & control Mixed All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:217:32 [INFO] [stdout] | [INFO] [stdout] 217 | 0xFF54 => todo!(), /// HDMA4 VRAM DMA destination low W CGB [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 218 | / 0xFF55 => todo!(), /// HDMA5 VRAM DMA length/mode/start R/W CGB [INFO] [stdout] 219 | | 0xFF56 => todo!(), /// RP Infrared communications port Mixed CGB [INFO] [stdout] 220 | | 0xFF68 => todo!(), /// BCPS/BGPI Background color palette specification / Background palette index R/W CGB [INFO] [stdout] 221 | | 0xFF69 => todo!(), /// BCPD/BGPD Background color palette data / Background palette data R/W CGB [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:110:32 [INFO] [stdout] | [INFO] [stdout] 110 | 0xFF16 => todo!(), /// NR21 Sound channel 2 length timer & duty cycle Mixed All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 111 | / 0xFF17 => todo!(), /// NR22 Sound channel 2 volume & envelope R/W All [INFO] [stdout] 112 | | 0xFF18 => todo!(), /// NR23 Sound channel 2 period low W All [INFO] [stdout] 113 | | 0xFF19 => todo!(), /// NR24 Sound channel 2 period high & control Mixed All [INFO] [stdout] 114 | | 0xFF1A => todo!(), /// NR30 Sound channel 3 DAC enable R/W All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:218:32 [INFO] [stdout] | [INFO] [stdout] 218 | 0xFF55 => todo!(), /// HDMA5 VRAM DMA length/mode/start R/W CGB [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 219 | / 0xFF56 => todo!(), /// RP Infrared communications port Mixed CGB [INFO] [stdout] 220 | | 0xFF68 => todo!(), /// BCPS/BGPI Background color palette specification / Background palette index R/W CGB [INFO] [stdout] 221 | | 0xFF69 => todo!(), /// BCPD/BGPD Background color palette data / Background palette data R/W CGB [INFO] [stdout] 222 | | 0xFF6A => todo!(), /// OCPS/OBPI OBJ color palette specification / OBJ palette index R/W CGB [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:111:32 [INFO] [stdout] | [INFO] [stdout] 111 | 0xFF17 => todo!(), /// NR22 Sound channel 2 volume & envelope R/W All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 112 | / 0xFF18 => todo!(), /// NR23 Sound channel 2 period low W All [INFO] [stdout] 113 | | 0xFF19 => todo!(), /// NR24 Sound channel 2 period high & control Mixed All [INFO] [stdout] 114 | | 0xFF1A => todo!(), /// NR30 Sound channel 3 DAC enable R/W All [INFO] [stdout] 115 | | 0xFF1B => todo!(), /// NR31 Sound channel 3 length timer W All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:219:32 [INFO] [stdout] | [INFO] [stdout] 219 | 0xFF56 => todo!(), /// RP Infrared communications port Mixed CGB [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 220 | / 0xFF68 => todo!(), /// BCPS/BGPI Background color palette specification / Background palette index R/W CGB [INFO] [stdout] 221 | | 0xFF69 => todo!(), /// BCPD/BGPD Background color palette data / Background palette data R/W CGB [INFO] [stdout] 222 | | 0xFF6A => todo!(), /// OCPS/OBPI OBJ color palette specification / OBJ palette index R/W CGB [INFO] [stdout] 223 | | 0xFF6B => todo!(), /// OCPD/OBPD OBJ color palette data / OBJ palette data R/W CGB [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:112:32 [INFO] [stdout] | [INFO] [stdout] 112 | 0xFF18 => todo!(), /// NR23 Sound channel 2 period low W All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 113 | / 0xFF19 => todo!(), /// NR24 Sound channel 2 period high & control Mixed All [INFO] [stdout] 114 | | 0xFF1A => todo!(), /// NR30 Sound channel 3 DAC enable R/W All [INFO] [stdout] 115 | | 0xFF1B => todo!(), /// NR31 Sound channel 3 length timer W All [INFO] [stdout] 116 | | 0xFF1C => todo!(), /// NR32 Sound channel 3 output level R/W All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:113:32 [INFO] [stdout] | [INFO] [stdout] 113 | 0xFF19 => todo!(), /// NR24 Sound channel 2 period high & control Mixed All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 114 | / 0xFF1A => todo!(), /// NR30 Sound channel 3 DAC enable R/W All [INFO] [stdout] 115 | | 0xFF1B => todo!(), /// NR31 Sound channel 3 length timer W All [INFO] [stdout] 116 | | 0xFF1C => todo!(), /// NR32 Sound channel 3 output level R/W All [INFO] [stdout] 117 | | 0xFF1D => todo!(), /// NR33 Sound channel 3 period low W All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:220:32 [INFO] [stdout] | [INFO] [stdout] 220 | 0xFF68 => todo!(), /// BCPS/BGPI Background color palette specification / Background palette index R/W CGB [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 221 | / 0xFF69 => todo!(), /// BCPD/BGPD Background color palette data / Background palette data R/W CGB [INFO] [stdout] 222 | | 0xFF6A => todo!(), /// OCPS/OBPI OBJ color palette specification / OBJ palette index R/W CGB [INFO] [stdout] 223 | | 0xFF6B => todo!(), /// OCPD/OBPD OBJ color palette data / OBJ palette data R/W CGB [INFO] [stdout] 224 | | 0xFF6C => todo!(), /// OPRI Object priority mode R/W CGB [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:114:32 [INFO] [stdout] | [INFO] [stdout] 114 | 0xFF1A => todo!(), /// NR30 Sound channel 3 DAC enable R/W All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 115 | / 0xFF1B => todo!(), /// NR31 Sound channel 3 length timer W All [INFO] [stdout] 116 | | 0xFF1C => todo!(), /// NR32 Sound channel 3 output level R/W All [INFO] [stdout] 117 | | 0xFF1D => todo!(), /// NR33 Sound channel 3 period low W All [INFO] [stdout] 118 | | 0xFF1E => todo!(), /// NR34 Sound channel 3 period high & control Mixed All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:221:32 [INFO] [stdout] | [INFO] [stdout] 221 | 0xFF69 => todo!(), /// BCPD/BGPD Background color palette data / Background palette data R/W CGB [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 222 | / 0xFF6A => todo!(), /// OCPS/OBPI OBJ color palette specification / OBJ palette index R/W CGB [INFO] [stdout] 223 | | 0xFF6B => todo!(), /// OCPD/OBPD OBJ color palette data / OBJ palette data R/W CGB [INFO] [stdout] 224 | | 0xFF6C => todo!(), /// OPRI Object priority mode R/W CGB [INFO] [stdout] 225 | | 0xFF70 => self.work_ram.set(addr, v), /// SVBK WRAM bank R/W CGB [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:115:32 [INFO] [stdout] | [INFO] [stdout] 115 | 0xFF1B => todo!(), /// NR31 Sound channel 3 length timer W All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 116 | / 0xFF1C => todo!(), /// NR32 Sound channel 3 output level R/W All [INFO] [stdout] 117 | | 0xFF1D => todo!(), /// NR33 Sound channel 3 period low W All [INFO] [stdout] 118 | | 0xFF1E => todo!(), /// NR34 Sound channel 3 period high & control Mixed All [INFO] [stdout] 119 | | 0xFF20 => todo!(), /// NR41 Sound channel 4 length timer W All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:222:32 [INFO] [stdout] | [INFO] [stdout] 222 | 0xFF6A => todo!(), /// OCPS/OBPI OBJ color palette specification / OBJ palette index R/W CGB [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 223 | / 0xFF6B => todo!(), /// OCPD/OBPD OBJ color palette data / OBJ palette data R/W CGB [INFO] [stdout] 224 | | 0xFF6C => todo!(), /// OPRI Object priority mode R/W CGB [INFO] [stdout] 225 | | 0xFF70 => self.work_ram.set(addr, v), /// SVBK WRAM bank R/W CGB [INFO] [stdout] 226 | | 0xFF76 => todo!(), /// PCM12 Audio digital outputs 1 & 2 R CGB [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:116:32 [INFO] [stdout] | [INFO] [stdout] 116 | 0xFF1C => todo!(), /// NR32 Sound channel 3 output level R/W All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 117 | / 0xFF1D => todo!(), /// NR33 Sound channel 3 period low W All [INFO] [stdout] 118 | | 0xFF1E => todo!(), /// NR34 Sound channel 3 period high & control Mixed All [INFO] [stdout] 119 | | 0xFF20 => todo!(), /// NR41 Sound channel 4 length timer W All [INFO] [stdout] 120 | | 0xFF21 => todo!(), /// NR42 Sound channel 4 volume & envelope R/W All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:117:32 [INFO] [stdout] | [INFO] [stdout] 117 | 0xFF1D => todo!(), /// NR33 Sound channel 3 period low W All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 118 | / 0xFF1E => todo!(), /// NR34 Sound channel 3 period high & control Mixed All [INFO] [stdout] 119 | | 0xFF20 => todo!(), /// NR41 Sound channel 4 length timer W All [INFO] [stdout] 120 | | 0xFF21 => todo!(), /// NR42 Sound channel 4 volume & envelope R/W All [INFO] [stdout] 121 | | 0xFF22 => todo!(), /// NR43 Sound channel 4 frequency & randomness R/W All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:223:32 [INFO] [stdout] | [INFO] [stdout] 223 | 0xFF6B => todo!(), /// OCPD/OBPD OBJ color palette data / OBJ palette data R/W CGB [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 224 | / 0xFF6C => todo!(), /// OPRI Object priority mode R/W CGB [INFO] [stdout] 225 | | 0xFF70 => self.work_ram.set(addr, v), /// SVBK WRAM bank R/W CGB [INFO] [stdout] 226 | | 0xFF76 => todo!(), /// PCM12 Audio digital outputs 1 & 2 R CGB [INFO] [stdout] 227 | | 0xFF77 => todo!(), /// PCM34 Audio digital outputs 3 & 4 R CGB [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:118:32 [INFO] [stdout] | [INFO] [stdout] 118 | 0xFF1E => todo!(), /// NR34 Sound channel 3 period high & control Mixed All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 119 | / 0xFF20 => todo!(), /// NR41 Sound channel 4 length timer W All [INFO] [stdout] 120 | | 0xFF21 => todo!(), /// NR42 Sound channel 4 volume & envelope R/W All [INFO] [stdout] 121 | | 0xFF22 => todo!(), /// NR43 Sound channel 4 frequency & randomness R/W All [INFO] [stdout] 122 | | 0xFF23 => todo!(), /// NR44 Sound channel 4 control Mixed All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:224:32 [INFO] [stdout] | [INFO] [stdout] 224 | 0xFF6C => todo!(), /// OPRI Object priority mode R/W CGB [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 225 | 0xFF70 => self.work_ram.set(addr, v), /// SVBK WRAM bank R/W CGB [INFO] [stdout] | ------------------------------------ rustdoc does not generate documentation for match arms [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:225:51 [INFO] [stdout] | [INFO] [stdout] 225 | 0xFF70 => self.work_ram.set(addr, v), /// SVBK WRAM bank R/W CGB [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 226 | / 0xFF76 => todo!(), /// PCM12 Audio digital outputs 1 & 2 R CGB [INFO] [stdout] 227 | | 0xFF77 => todo!(), /// PCM34 Audio digital outputs 3 & 4 R CGB [INFO] [stdout] 228 | | 0xFF80..=0xFFFE => self.work_ram.set(addr, v), [INFO] [stdout] 229 | | 0xFFFF => self.interrupt.borrow_mut().set(addr, v), [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:226:32 [INFO] [stdout] | [INFO] [stdout] 226 | 0xFF76 => todo!(), /// PCM12 Audio digital outputs 1 & 2 R CGB [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 227 | / 0xFF77 => todo!(), /// PCM34 Audio digital outputs 3 & 4 R CGB [INFO] [stdout] 228 | | 0xFF80..=0xFFFE => self.work_ram.set(addr, v), [INFO] [stdout] 229 | | 0xFFFF => self.interrupt.borrow_mut().set(addr, v), [INFO] [stdout] 230 | | addr => panic!("MMU access denied, addr: 0x{:04X}", addr), [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:119:32 [INFO] [stdout] | [INFO] [stdout] 119 | 0xFF20 => todo!(), /// NR41 Sound channel 4 length timer W All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 120 | / 0xFF21 => todo!(), /// NR42 Sound channel 4 volume & envelope R/W All [INFO] [stdout] 121 | | 0xFF22 => todo!(), /// NR43 Sound channel 4 frequency & randomness R/W All [INFO] [stdout] 122 | | 0xFF23 => todo!(), /// NR44 Sound channel 4 control Mixed All [INFO] [stdout] 123 | | 0xFF24 => todo!(), /// NR50 Master volume & VIN panning R/W All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:227:32 [INFO] [stdout] | [INFO] [stdout] 227 | 0xFF77 => todo!(), /// PCM34 Audio digital outputs 3 & 4 R CGB [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 228 | 0xFF80..=0xFFFE => self.work_ram.set(addr, v), [INFO] [stdout] | --------------------------------------------- rustdoc does not generate documentation for match arms [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:120:32 [INFO] [stdout] | [INFO] [stdout] 120 | 0xFF21 => todo!(), /// NR42 Sound channel 4 volume & envelope R/W All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 121 | / 0xFF22 => todo!(), /// NR43 Sound channel 4 frequency & randomness R/W All [INFO] [stdout] 122 | | 0xFF23 => todo!(), /// NR44 Sound channel 4 control Mixed All [INFO] [stdout] 123 | | 0xFF24 => todo!(), /// NR50 Master volume & VIN panning R/W All [INFO] [stdout] 124 | | 0xFF25 => todo!(), /// NR51 Sound panning R/W All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::mmu::Memory` [INFO] [stdout] --> src/io_device/mod.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::mmu::Memory; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:121:32 [INFO] [stdout] | [INFO] [stdout] 121 | 0xFF22 => todo!(), /// NR43 Sound channel 4 frequency & randomness R/W All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 122 | / 0xFF23 => todo!(), /// NR44 Sound channel 4 control Mixed All [INFO] [stdout] 123 | | 0xFF24 => todo!(), /// NR50 Master volume & VIN panning R/W All [INFO] [stdout] 124 | | 0xFF25 => todo!(), /// NR51 Sound panning R/W All [INFO] [stdout] 125 | | 0xFF26 => todo!(), /// NR52 Sound on/off Mixed All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/io_device/joypad.rs:59:28 [INFO] [stdout] | [INFO] [stdout] 59 | self.matrix |= (*key as u8); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 59 - self.matrix |= (*key as u8); [INFO] [stdout] 59 + self.matrix |= *key as u8; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:122:32 [INFO] [stdout] | [INFO] [stdout] 122 | 0xFF23 => todo!(), /// NR44 Sound channel 4 control Mixed All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 123 | / 0xFF24 => todo!(), /// NR50 Master volume & VIN panning R/W All [INFO] [stdout] 124 | | 0xFF25 => todo!(), /// NR51 Sound panning R/W All [INFO] [stdout] 125 | | 0xFF26 => todo!(), /// NR52 Sound on/off Mixed All [INFO] [stdout] 126 | | 0xFF30..=0xFF3F => todo!(), /// Wave RAM Storage for one of the sound channels’ waveform R/W All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::cpu::CPU` [INFO] [stdout] --> src/io_device/interrupt.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::cpu::CPU; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/io_device/interrupt.rs:81:23 [INFO] [stdout] | [INFO] [stdout] 81 | self.int_f |= (0x01 << (flag as u8)); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 81 - self.int_f |= (0x01 << (flag as u8)); [INFO] [stdout] 81 + self.int_f |= 0x01 << (flag as u8); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:123:32 [INFO] [stdout] | [INFO] [stdout] 123 | 0xFF24 => todo!(), /// NR50 Master volume & VIN panning R/W All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 124 | / 0xFF25 => todo!(), /// NR51 Sound panning R/W All [INFO] [stdout] 125 | | 0xFF26 => todo!(), /// NR52 Sound on/off Mixed All [INFO] [stdout] 126 | | 0xFF30..=0xFF3F => todo!(), /// Wave RAM Storage for one of the sound channels’ waveform R/W All [INFO] [stdout] 127 | | 0xFF40 => todo!(), /// LCDC LCD control R/W All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:124:32 [INFO] [stdout] | [INFO] [stdout] 124 | 0xFF25 => todo!(), /// NR51 Sound panning R/W All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 125 | / 0xFF26 => todo!(), /// NR52 Sound on/off Mixed All [INFO] [stdout] 126 | | 0xFF30..=0xFF3F => todo!(), /// Wave RAM Storage for one of the sound channels’ waveform R/W All [INFO] [stdout] 127 | | 0xFF40 => todo!(), /// LCDC LCD control R/W All [INFO] [stdout] 128 | | 0xFF41 => todo!(), /// STAT LCD status Mixed All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:125:32 [INFO] [stdout] | [INFO] [stdout] 125 | 0xFF26 => todo!(), /// NR52 Sound on/off Mixed All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 126 | / 0xFF30..=0xFF3F => todo!(), /// Wave RAM Storage for one of the sound channels’ waveform R/W All [INFO] [stdout] 127 | | 0xFF40 => todo!(), /// LCDC LCD control R/W All [INFO] [stdout] 128 | | 0xFF41 => todo!(), /// STAT LCD status Mixed All [INFO] [stdout] 129 | | 0xFF42 => todo!(), /// SCY Viewport Y position R/W All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:126:41 [INFO] [stdout] | [INFO] [stdout] 126 | 0xFF30..=0xFF3F => todo!(), /// Wave RAM Storage for one of the sound channels’ waveform R/W All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 127 | / 0xFF40 => todo!(), /// LCDC LCD control R/W All [INFO] [stdout] 128 | | 0xFF41 => todo!(), /// STAT LCD status Mixed All [INFO] [stdout] 129 | | 0xFF42 => todo!(), /// SCY Viewport Y position R/W All [INFO] [stdout] 130 | | 0xFF43 => todo!(), /// SCX Viewport X position R/W All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:127:32 [INFO] [stdout] | [INFO] [stdout] 127 | 0xFF40 => todo!(), /// LCDC LCD control R/W All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 128 | / 0xFF41 => todo!(), /// STAT LCD status Mixed All [INFO] [stdout] 129 | | 0xFF42 => todo!(), /// SCY Viewport Y position R/W All [INFO] [stdout] 130 | | 0xFF43 => todo!(), /// SCX Viewport X position R/W All [INFO] [stdout] 131 | | 0xFF44 => todo!(), /// LY LCD Y coordinate R All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:128:32 [INFO] [stdout] | [INFO] [stdout] 128 | 0xFF41 => todo!(), /// STAT LCD status Mixed All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 129 | / 0xFF42 => todo!(), /// SCY Viewport Y position R/W All [INFO] [stdout] 130 | | 0xFF43 => todo!(), /// SCX Viewport X position R/W All [INFO] [stdout] 131 | | 0xFF44 => todo!(), /// LY LCD Y coordinate R All [INFO] [stdout] 132 | | 0xFF45 => todo!(), /// LYC LY compare R/W All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:129:32 [INFO] [stdout] | [INFO] [stdout] 129 | 0xFF42 => todo!(), /// SCY Viewport Y position R/W All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 130 | / 0xFF43 => todo!(), /// SCX Viewport X position R/W All [INFO] [stdout] 131 | | 0xFF44 => todo!(), /// LY LCD Y coordinate R All [INFO] [stdout] 132 | | 0xFF45 => todo!(), /// LYC LY compare R/W All [INFO] [stdout] 133 | | 0xFF46 => todo!(), /// DMA OAM DMA source address & start R/W All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:130:32 [INFO] [stdout] | [INFO] [stdout] 130 | 0xFF43 => todo!(), /// SCX Viewport X position R/W All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 131 | / 0xFF44 => todo!(), /// LY LCD Y coordinate R All [INFO] [stdout] 132 | | 0xFF45 => todo!(), /// LYC LY compare R/W All [INFO] [stdout] 133 | | 0xFF46 => todo!(), /// DMA OAM DMA source address & start R/W All [INFO] [stdout] 134 | | 0xFF47 => todo!(), /// BGP BG palette data R/W DMG [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:131:32 [INFO] [stdout] | [INFO] [stdout] 131 | 0xFF44 => todo!(), /// LY LCD Y coordinate R All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 132 | / 0xFF45 => todo!(), /// LYC LY compare R/W All [INFO] [stdout] 133 | | 0xFF46 => todo!(), /// DMA OAM DMA source address & start R/W All [INFO] [stdout] 134 | | 0xFF47 => todo!(), /// BGP BG palette data R/W DMG [INFO] [stdout] 135 | | 0xFF48 => todo!(), /// OBP0 OBJ palette 0 data R/W DMG [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:132:32 [INFO] [stdout] | [INFO] [stdout] 132 | 0xFF45 => todo!(), /// LYC LY compare R/W All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 133 | / 0xFF46 => todo!(), /// DMA OAM DMA source address & start R/W All [INFO] [stdout] 134 | | 0xFF47 => todo!(), /// BGP BG palette data R/W DMG [INFO] [stdout] 135 | | 0xFF48 => todo!(), /// OBP0 OBJ palette 0 data R/W DMG [INFO] [stdout] 136 | | 0xFF49 => todo!(), /// OBP1 OBJ palette 1 data R/W DMG [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:133:32 [INFO] [stdout] | [INFO] [stdout] 133 | 0xFF46 => todo!(), /// DMA OAM DMA source address & start R/W All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 134 | / 0xFF47 => todo!(), /// BGP BG palette data R/W DMG [INFO] [stdout] 135 | | 0xFF48 => todo!(), /// OBP0 OBJ palette 0 data R/W DMG [INFO] [stdout] 136 | | 0xFF49 => todo!(), /// OBP1 OBJ palette 1 data R/W DMG [INFO] [stdout] 137 | | 0xFF4A => todo!(), /// WY Window Y position R/W All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:134:32 [INFO] [stdout] | [INFO] [stdout] 134 | 0xFF47 => todo!(), /// BGP BG palette data R/W DMG [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 135 | / 0xFF48 => todo!(), /// OBP0 OBJ palette 0 data R/W DMG [INFO] [stdout] 136 | | 0xFF49 => todo!(), /// OBP1 OBJ palette 1 data R/W DMG [INFO] [stdout] 137 | | 0xFF4A => todo!(), /// WY Window Y position R/W All [INFO] [stdout] 138 | | 0xFF4B => todo!(), /// WX Window X position plus 7 R/W All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:135:32 [INFO] [stdout] | [INFO] [stdout] 135 | 0xFF48 => todo!(), /// OBP0 OBJ palette 0 data R/W DMG [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 136 | / 0xFF49 => todo!(), /// OBP1 OBJ palette 1 data R/W DMG [INFO] [stdout] 137 | | 0xFF4A => todo!(), /// WY Window Y position R/W All [INFO] [stdout] 138 | | 0xFF4B => todo!(), /// WX Window X position plus 7 R/W All [INFO] [stdout] 139 | | 0xFF4D => todo!(), /// KEY1 Prepare speed switch Mixed CGB [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:136:32 [INFO] [stdout] | [INFO] [stdout] 136 | 0xFF49 => todo!(), /// OBP1 OBJ palette 1 data R/W DMG [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 137 | / 0xFF4A => todo!(), /// WY Window Y position R/W All [INFO] [stdout] 138 | | 0xFF4B => todo!(), /// WX Window X position plus 7 R/W All [INFO] [stdout] 139 | | 0xFF4D => todo!(), /// KEY1 Prepare speed switch Mixed CGB [INFO] [stdout] 140 | | 0xFF4F => self.video.get(addr), /// VBK VRAM bank R/W CGB [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:137:32 [INFO] [stdout] | [INFO] [stdout] 137 | 0xFF4A => todo!(), /// WY Window Y position R/W All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 138 | / 0xFF4B => todo!(), /// WX Window X position plus 7 R/W All [INFO] [stdout] 139 | | 0xFF4D => todo!(), /// KEY1 Prepare speed switch Mixed CGB [INFO] [stdout] 140 | | 0xFF4F => self.video.get(addr), /// VBK VRAM bank R/W CGB [INFO] [stdout] 141 | | 0xFF51 => todo!(), /// HDMA1 VRAM DMA source high W CGB [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:138:32 [INFO] [stdout] | [INFO] [stdout] 138 | 0xFF4B => todo!(), /// WX Window X position plus 7 R/W All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 139 | / 0xFF4D => todo!(), /// KEY1 Prepare speed switch Mixed CGB [INFO] [stdout] 140 | | 0xFF4F => self.video.get(addr), /// VBK VRAM bank R/W CGB [INFO] [stdout] 141 | | 0xFF51 => todo!(), /// HDMA1 VRAM DMA source high W CGB [INFO] [stdout] 142 | | 0xFF52 => todo!(), /// HDMA2 VRAM DMA source low W CGB [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:139:32 [INFO] [stdout] | [INFO] [stdout] 139 | 0xFF4D => todo!(), /// KEY1 Prepare speed switch Mixed CGB [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 140 | 0xFF4F => self.video.get(addr), /// VBK VRAM bank R/W CGB [INFO] [stdout] | ------------------------------ rustdoc does not generate documentation for match arms [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:140:45 [INFO] [stdout] | [INFO] [stdout] 140 | 0xFF4F => self.video.get(addr), /// VBK VRAM bank R/W CGB [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 141 | / 0xFF51 => todo!(), /// HDMA1 VRAM DMA source high W CGB [INFO] [stdout] 142 | | 0xFF52 => todo!(), /// HDMA2 VRAM DMA source low W CGB [INFO] [stdout] 143 | | 0xFF53 => todo!(), /// HDMA3 VRAM DMA destination high W CGB [INFO] [stdout] 144 | | 0xFF54 => todo!(), /// HDMA4 VRAM DMA destination low W CGB [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:141:32 [INFO] [stdout] | [INFO] [stdout] 141 | 0xFF51 => todo!(), /// HDMA1 VRAM DMA source high W CGB [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 142 | / 0xFF52 => todo!(), /// HDMA2 VRAM DMA source low W CGB [INFO] [stdout] 143 | | 0xFF53 => todo!(), /// HDMA3 VRAM DMA destination high W CGB [INFO] [stdout] 144 | | 0xFF54 => todo!(), /// HDMA4 VRAM DMA destination low W CGB [INFO] [stdout] 145 | | 0xFF55 => todo!(), /// HDMA5 VRAM DMA length/mode/start R/W CGB [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:142:32 [INFO] [stdout] | [INFO] [stdout] 142 | 0xFF52 => todo!(), /// HDMA2 VRAM DMA source low W CGB [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 143 | / 0xFF53 => todo!(), /// HDMA3 VRAM DMA destination high W CGB [INFO] [stdout] 144 | | 0xFF54 => todo!(), /// HDMA4 VRAM DMA destination low W CGB [INFO] [stdout] 145 | | 0xFF55 => todo!(), /// HDMA5 VRAM DMA length/mode/start R/W CGB [INFO] [stdout] 146 | | 0xFF56 => todo!(), /// RP Infrared communications port Mixed CGB [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:143:32 [INFO] [stdout] | [INFO] [stdout] 143 | 0xFF53 => todo!(), /// HDMA3 VRAM DMA destination high W CGB [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 144 | / 0xFF54 => todo!(), /// HDMA4 VRAM DMA destination low W CGB [INFO] [stdout] 145 | | 0xFF55 => todo!(), /// HDMA5 VRAM DMA length/mode/start R/W CGB [INFO] [stdout] 146 | | 0xFF56 => todo!(), /// RP Infrared communications port Mixed CGB [INFO] [stdout] 147 | | 0xFF68 => todo!(), /// BCPS/BGPI Background color palette specification / Background palette index R/W CGB [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:144:32 [INFO] [stdout] | [INFO] [stdout] 144 | 0xFF54 => todo!(), /// HDMA4 VRAM DMA destination low W CGB [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 145 | / 0xFF55 => todo!(), /// HDMA5 VRAM DMA length/mode/start R/W CGB [INFO] [stdout] 146 | | 0xFF56 => todo!(), /// RP Infrared communications port Mixed CGB [INFO] [stdout] 147 | | 0xFF68 => todo!(), /// BCPS/BGPI Background color palette specification / Background palette index R/W CGB [INFO] [stdout] 148 | | 0xFF69 => todo!(), /// BCPD/BGPD Background color palette data / Background palette data R/W CGB [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:145:32 [INFO] [stdout] | [INFO] [stdout] 145 | 0xFF55 => todo!(), /// HDMA5 VRAM DMA length/mode/start R/W CGB [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 146 | / 0xFF56 => todo!(), /// RP Infrared communications port Mixed CGB [INFO] [stdout] 147 | | 0xFF68 => todo!(), /// BCPS/BGPI Background color palette specification / Background palette index R/W CGB [INFO] [stdout] 148 | | 0xFF69 => todo!(), /// BCPD/BGPD Background color palette data / Background palette data R/W CGB [INFO] [stdout] 149 | | 0xFF6A => todo!(), /// OCPS/OBPI OBJ color palette specification / OBJ palette index R/W CGB [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:146:32 [INFO] [stdout] | [INFO] [stdout] 146 | 0xFF56 => todo!(), /// RP Infrared communications port Mixed CGB [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 147 | / 0xFF68 => todo!(), /// BCPS/BGPI Background color palette specification / Background palette index R/W CGB [INFO] [stdout] 148 | | 0xFF69 => todo!(), /// BCPD/BGPD Background color palette data / Background palette data R/W CGB [INFO] [stdout] 149 | | 0xFF6A => todo!(), /// OCPS/OBPI OBJ color palette specification / OBJ palette index R/W CGB [INFO] [stdout] 150 | | 0xFF6B => todo!(), /// OCPD/OBPD OBJ color palette data / OBJ palette data R/W CGB [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:147:32 [INFO] [stdout] | [INFO] [stdout] 147 | 0xFF68 => todo!(), /// BCPS/BGPI Background color palette specification / Background palette index R/W CGB [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 148 | / 0xFF69 => todo!(), /// BCPD/BGPD Background color palette data / Background palette data R/W CGB [INFO] [stdout] 149 | | 0xFF6A => todo!(), /// OCPS/OBPI OBJ color palette specification / OBJ palette index R/W CGB [INFO] [stdout] 150 | | 0xFF6B => todo!(), /// OCPD/OBPD OBJ color palette data / OBJ palette data R/W CGB [INFO] [stdout] 151 | | 0xFF6C => todo!(), /// OPRI Object priority mode R/W CGB [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:148:32 [INFO] [stdout] | [INFO] [stdout] 148 | 0xFF69 => todo!(), /// BCPD/BGPD Background color palette data / Background palette data R/W CGB [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 149 | / 0xFF6A => todo!(), /// OCPS/OBPI OBJ color palette specification / OBJ palette index R/W CGB [INFO] [stdout] 150 | | 0xFF6B => todo!(), /// OCPD/OBPD OBJ color palette data / OBJ palette data R/W CGB [INFO] [stdout] 151 | | 0xFF6C => todo!(), /// OPRI Object priority mode R/W CGB [INFO] [stdout] 152 | | 0xFF70 => self.work_ram.get(addr), /// SVBK WRAM bank R/W CGB [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:149:32 [INFO] [stdout] | [INFO] [stdout] 149 | 0xFF6A => todo!(), /// OCPS/OBPI OBJ color palette specification / OBJ palette index R/W CGB [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 150 | / 0xFF6B => todo!(), /// OCPD/OBPD OBJ color palette data / OBJ palette data R/W CGB [INFO] [stdout] 151 | | 0xFF6C => todo!(), /// OPRI Object priority mode R/W CGB [INFO] [stdout] 152 | | 0xFF70 => self.work_ram.get(addr), /// SVBK WRAM bank R/W CGB [INFO] [stdout] 153 | | 0xFF76 => todo!(), /// PCM12 Audio digital outputs 1 & 2 R CGB [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:150:32 [INFO] [stdout] | [INFO] [stdout] 150 | 0xFF6B => todo!(), /// OCPD/OBPD OBJ color palette data / OBJ palette data R/W CGB [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 151 | / 0xFF6C => todo!(), /// OPRI Object priority mode R/W CGB [INFO] [stdout] 152 | | 0xFF70 => self.work_ram.get(addr), /// SVBK WRAM bank R/W CGB [INFO] [stdout] 153 | | 0xFF76 => todo!(), /// PCM12 Audio digital outputs 1 & 2 R CGB [INFO] [stdout] 154 | | 0xFF77 => todo!(), /// PCM34 Audio digital outputs 3 & 4 R CGB [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:151:32 [INFO] [stdout] | [INFO] [stdout] 151 | 0xFF6C => todo!(), /// OPRI Object priority mode R/W CGB [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 152 | 0xFF70 => self.work_ram.get(addr), /// SVBK WRAM bank R/W CGB [INFO] [stdout] | --------------------------------- rustdoc does not generate documentation for match arms [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:152:48 [INFO] [stdout] | [INFO] [stdout] 152 | 0xFF70 => self.work_ram.get(addr), /// SVBK WRAM bank R/W CGB [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 153 | / 0xFF76 => todo!(), /// PCM12 Audio digital outputs 1 & 2 R CGB [INFO] [stdout] 154 | | 0xFF77 => todo!(), /// PCM34 Audio digital outputs 3 & 4 R CGB [INFO] [stdout] 155 | | 0xFF80..=0xFFFE => self.work_ram.get(addr), [INFO] [stdout] 156 | | 0xFFFF => self.interrupt.borrow().get(addr), [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:153:32 [INFO] [stdout] | [INFO] [stdout] 153 | 0xFF76 => todo!(), /// PCM12 Audio digital outputs 1 & 2 R CGB [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 154 | / 0xFF77 => todo!(), /// PCM34 Audio digital outputs 3 & 4 R CGB [INFO] [stdout] 155 | | 0xFF80..=0xFFFE => self.work_ram.get(addr), [INFO] [stdout] 156 | | 0xFFFF => self.interrupt.borrow().get(addr), [INFO] [stdout] 157 | | addr => panic!("MMU access denied, addr: 0x{:04X}", addr), [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:154:32 [INFO] [stdout] | [INFO] [stdout] 154 | 0xFF77 => todo!(), /// PCM34 Audio digital outputs 3 & 4 R CGB [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 155 | 0xFF80..=0xFFFE => self.work_ram.get(addr), [INFO] [stdout] | ------------------------------------------ rustdoc does not generate documentation for match arms [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:171:32 [INFO] [stdout] | [INFO] [stdout] 171 | 0xFF01 => todo!(), /// SB Serial transfer data R/W All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 172 | / 0xFF02 => todo!(), /// SC Serial transfer control R/W Mixed [INFO] [stdout] 173 | | 0xFF04 => todo!(), /// DIV Divider register R/W All [INFO] [stdout] 174 | | 0xFF05 => todo!(), /// TIMA Timer counter R/W All [INFO] [stdout] 175 | | 0xFF06 => todo!(), /// TMA Timer modulo R/W All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:172:32 [INFO] [stdout] | [INFO] [stdout] 172 | 0xFF02 => todo!(), /// SC Serial transfer control R/W Mixed [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 173 | / 0xFF04 => todo!(), /// DIV Divider register R/W All [INFO] [stdout] 174 | | 0xFF05 => todo!(), /// TIMA Timer counter R/W All [INFO] [stdout] 175 | | 0xFF06 => todo!(), /// TMA Timer modulo R/W All [INFO] [stdout] 176 | | 0xFF07 => todo!(), /// TAC Timer control R/W All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:173:32 [INFO] [stdout] | [INFO] [stdout] 173 | 0xFF04 => todo!(), /// DIV Divider register R/W All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 174 | / 0xFF05 => todo!(), /// TIMA Timer counter R/W All [INFO] [stdout] 175 | | 0xFF06 => todo!(), /// TMA Timer modulo R/W All [INFO] [stdout] 176 | | 0xFF07 => todo!(), /// TAC Timer control R/W All [INFO] [stdout] 177 | | 0xFF0F => self.interrupt.borrow_mut().set(addr, v), [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:174:32 [INFO] [stdout] | [INFO] [stdout] 174 | 0xFF05 => todo!(), /// TIMA Timer counter R/W All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 175 | / 0xFF06 => todo!(), /// TMA Timer modulo R/W All [INFO] [stdout] 176 | | 0xFF07 => todo!(), /// TAC Timer control R/W All [INFO] [stdout] 177 | | 0xFF0F => self.interrupt.borrow_mut().set(addr, v), [INFO] [stdout] 178 | | 0xFF10 => todo!(), /// NR10 Sound channel 1 sweep R/W All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:175:32 [INFO] [stdout] | [INFO] [stdout] 175 | 0xFF06 => todo!(), /// TMA Timer modulo R/W All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 176 | / 0xFF07 => todo!(), /// TAC Timer control R/W All [INFO] [stdout] 177 | | 0xFF0F => self.interrupt.borrow_mut().set(addr, v), [INFO] [stdout] 178 | | 0xFF10 => todo!(), /// NR10 Sound channel 1 sweep R/W All [INFO] [stdout] 179 | | 0xFF11 => todo!(), /// NR11 Sound channel 1 length timer & duty cycle Mixed All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:176:32 [INFO] [stdout] | [INFO] [stdout] 176 | 0xFF07 => todo!(), /// TAC Timer control R/W All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 177 | 0xFF0F => self.interrupt.borrow_mut().set(addr, v), [INFO] [stdout] | -------------------------------------------------- rustdoc does not generate documentation for match arms [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:178:32 [INFO] [stdout] | [INFO] [stdout] 178 | 0xFF10 => todo!(), /// NR10 Sound channel 1 sweep R/W All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 179 | / 0xFF11 => todo!(), /// NR11 Sound channel 1 length timer & duty cycle Mixed All [INFO] [stdout] 180 | | 0xFF12 => todo!(), /// NR12 Sound channel 1 volume & envelope R/W All [INFO] [stdout] 181 | | 0xFF13 => todo!(), /// NR13 Sound channel 1 period low W All [INFO] [stdout] 182 | | 0xFF14 => todo!(), /// NR14 Sound channel 1 period high & control Mixed All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:179:32 [INFO] [stdout] | [INFO] [stdout] 179 | 0xFF11 => todo!(), /// NR11 Sound channel 1 length timer & duty cycle Mixed All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 180 | / 0xFF12 => todo!(), /// NR12 Sound channel 1 volume & envelope R/W All [INFO] [stdout] 181 | | 0xFF13 => todo!(), /// NR13 Sound channel 1 period low W All [INFO] [stdout] 182 | | 0xFF14 => todo!(), /// NR14 Sound channel 1 period high & control Mixed All [INFO] [stdout] 183 | | 0xFF16 => todo!(), /// NR21 Sound channel 2 length timer & duty cycle Mixed All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:180:32 [INFO] [stdout] | [INFO] [stdout] 180 | 0xFF12 => todo!(), /// NR12 Sound channel 1 volume & envelope R/W All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 181 | / 0xFF13 => todo!(), /// NR13 Sound channel 1 period low W All [INFO] [stdout] 182 | | 0xFF14 => todo!(), /// NR14 Sound channel 1 period high & control Mixed All [INFO] [stdout] 183 | | 0xFF16 => todo!(), /// NR21 Sound channel 2 length timer & duty cycle Mixed All [INFO] [stdout] 184 | | 0xFF17 => todo!(), /// NR22 Sound channel 2 volume & envelope R/W All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:181:32 [INFO] [stdout] | [INFO] [stdout] 181 | 0xFF13 => todo!(), /// NR13 Sound channel 1 period low W All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 182 | / 0xFF14 => todo!(), /// NR14 Sound channel 1 period high & control Mixed All [INFO] [stdout] 183 | | 0xFF16 => todo!(), /// NR21 Sound channel 2 length timer & duty cycle Mixed All [INFO] [stdout] 184 | | 0xFF17 => todo!(), /// NR22 Sound channel 2 volume & envelope R/W All [INFO] [stdout] 185 | | 0xFF18 => todo!(), /// NR23 Sound channel 2 period low W All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:182:32 [INFO] [stdout] | [INFO] [stdout] 182 | 0xFF14 => todo!(), /// NR14 Sound channel 1 period high & control Mixed All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 183 | / 0xFF16 => todo!(), /// NR21 Sound channel 2 length timer & duty cycle Mixed All [INFO] [stdout] 184 | | 0xFF17 => todo!(), /// NR22 Sound channel 2 volume & envelope R/W All [INFO] [stdout] 185 | | 0xFF18 => todo!(), /// NR23 Sound channel 2 period low W All [INFO] [stdout] 186 | | 0xFF19 => todo!(), /// NR24 Sound channel 2 period high & control Mixed All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:183:32 [INFO] [stdout] | [INFO] [stdout] 183 | 0xFF16 => todo!(), /// NR21 Sound channel 2 length timer & duty cycle Mixed All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 184 | / 0xFF17 => todo!(), /// NR22 Sound channel 2 volume & envelope R/W All [INFO] [stdout] 185 | | 0xFF18 => todo!(), /// NR23 Sound channel 2 period low W All [INFO] [stdout] 186 | | 0xFF19 => todo!(), /// NR24 Sound channel 2 period high & control Mixed All [INFO] [stdout] 187 | | 0xFF1A => todo!(), /// NR30 Sound channel 3 DAC enable R/W All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:184:32 [INFO] [stdout] | [INFO] [stdout] 184 | 0xFF17 => todo!(), /// NR22 Sound channel 2 volume & envelope R/W All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 185 | / 0xFF18 => todo!(), /// NR23 Sound channel 2 period low W All [INFO] [stdout] 186 | | 0xFF19 => todo!(), /// NR24 Sound channel 2 period high & control Mixed All [INFO] [stdout] 187 | | 0xFF1A => todo!(), /// NR30 Sound channel 3 DAC enable R/W All [INFO] [stdout] 188 | | 0xFF1B => todo!(), /// NR31 Sound channel 3 length timer W All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:185:32 [INFO] [stdout] | [INFO] [stdout] 185 | 0xFF18 => todo!(), /// NR23 Sound channel 2 period low W All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 186 | / 0xFF19 => todo!(), /// NR24 Sound channel 2 period high & control Mixed All [INFO] [stdout] 187 | | 0xFF1A => todo!(), /// NR30 Sound channel 3 DAC enable R/W All [INFO] [stdout] 188 | | 0xFF1B => todo!(), /// NR31 Sound channel 3 length timer W All [INFO] [stdout] 189 | | 0xFF1C => todo!(), /// NR32 Sound channel 3 output level R/W All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:186:32 [INFO] [stdout] | [INFO] [stdout] 186 | 0xFF19 => todo!(), /// NR24 Sound channel 2 period high & control Mixed All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 187 | / 0xFF1A => todo!(), /// NR30 Sound channel 3 DAC enable R/W All [INFO] [stdout] 188 | | 0xFF1B => todo!(), /// NR31 Sound channel 3 length timer W All [INFO] [stdout] 189 | | 0xFF1C => todo!(), /// NR32 Sound channel 3 output level R/W All [INFO] [stdout] 190 | | 0xFF1D => todo!(), /// NR33 Sound channel 3 period low W All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:187:32 [INFO] [stdout] | [INFO] [stdout] 187 | 0xFF1A => todo!(), /// NR30 Sound channel 3 DAC enable R/W All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 188 | / 0xFF1B => todo!(), /// NR31 Sound channel 3 length timer W All [INFO] [stdout] 189 | | 0xFF1C => todo!(), /// NR32 Sound channel 3 output level R/W All [INFO] [stdout] 190 | | 0xFF1D => todo!(), /// NR33 Sound channel 3 period low W All [INFO] [stdout] 191 | | 0xFF1E => todo!(), /// NR34 Sound channel 3 period high & control Mixed All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:188:32 [INFO] [stdout] | [INFO] [stdout] 188 | 0xFF1B => todo!(), /// NR31 Sound channel 3 length timer W All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 189 | / 0xFF1C => todo!(), /// NR32 Sound channel 3 output level R/W All [INFO] [stdout] 190 | | 0xFF1D => todo!(), /// NR33 Sound channel 3 period low W All [INFO] [stdout] 191 | | 0xFF1E => todo!(), /// NR34 Sound channel 3 period high & control Mixed All [INFO] [stdout] 192 | | 0xFF20 => todo!(), /// NR41 Sound channel 4 length timer W All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:189:32 [INFO] [stdout] | [INFO] [stdout] 189 | 0xFF1C => todo!(), /// NR32 Sound channel 3 output level R/W All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 190 | / 0xFF1D => todo!(), /// NR33 Sound channel 3 period low W All [INFO] [stdout] 191 | | 0xFF1E => todo!(), /// NR34 Sound channel 3 period high & control Mixed All [INFO] [stdout] 192 | | 0xFF20 => todo!(), /// NR41 Sound channel 4 length timer W All [INFO] [stdout] 193 | | 0xFF21 => todo!(), /// NR42 Sound channel 4 volume & envelope R/W All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:190:32 [INFO] [stdout] | [INFO] [stdout] 190 | 0xFF1D => todo!(), /// NR33 Sound channel 3 period low W All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 191 | / 0xFF1E => todo!(), /// NR34 Sound channel 3 period high & control Mixed All [INFO] [stdout] 192 | | 0xFF20 => todo!(), /// NR41 Sound channel 4 length timer W All [INFO] [stdout] 193 | | 0xFF21 => todo!(), /// NR42 Sound channel 4 volume & envelope R/W All [INFO] [stdout] 194 | | 0xFF22 => todo!(), /// NR43 Sound channel 4 frequency & randomness R/W All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:191:32 [INFO] [stdout] | [INFO] [stdout] 191 | 0xFF1E => todo!(), /// NR34 Sound channel 3 period high & control Mixed All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 192 | / 0xFF20 => todo!(), /// NR41 Sound channel 4 length timer W All [INFO] [stdout] 193 | | 0xFF21 => todo!(), /// NR42 Sound channel 4 volume & envelope R/W All [INFO] [stdout] 194 | | 0xFF22 => todo!(), /// NR43 Sound channel 4 frequency & randomness R/W All [INFO] [stdout] 195 | | 0xFF23 => todo!(), /// NR44 Sound channel 4 control Mixed All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:192:32 [INFO] [stdout] | [INFO] [stdout] 192 | 0xFF20 => todo!(), /// NR41 Sound channel 4 length timer W All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 193 | / 0xFF21 => todo!(), /// NR42 Sound channel 4 volume & envelope R/W All [INFO] [stdout] 194 | | 0xFF22 => todo!(), /// NR43 Sound channel 4 frequency & randomness R/W All [INFO] [stdout] 195 | | 0xFF23 => todo!(), /// NR44 Sound channel 4 control Mixed All [INFO] [stdout] 196 | | 0xFF24 => todo!(), /// NR50 Master volume & VIN panning R/W All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:193:32 [INFO] [stdout] | [INFO] [stdout] 193 | 0xFF21 => todo!(), /// NR42 Sound channel 4 volume & envelope R/W All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 194 | / 0xFF22 => todo!(), /// NR43 Sound channel 4 frequency & randomness R/W All [INFO] [stdout] 195 | | 0xFF23 => todo!(), /// NR44 Sound channel 4 control Mixed All [INFO] [stdout] 196 | | 0xFF24 => todo!(), /// NR50 Master volume & VIN panning R/W All [INFO] [stdout] 197 | | 0xFF25 => todo!(), /// NR51 Sound panning R/W All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:194:32 [INFO] [stdout] | [INFO] [stdout] 194 | 0xFF22 => todo!(), /// NR43 Sound channel 4 frequency & randomness R/W All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 195 | / 0xFF23 => todo!(), /// NR44 Sound channel 4 control Mixed All [INFO] [stdout] 196 | | 0xFF24 => todo!(), /// NR50 Master volume & VIN panning R/W All [INFO] [stdout] 197 | | 0xFF25 => todo!(), /// NR51 Sound panning R/W All [INFO] [stdout] 198 | | 0xFF26 => todo!(), /// NR52 Sound on/off Mixed All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:195:32 [INFO] [stdout] | [INFO] [stdout] 195 | 0xFF23 => todo!(), /// NR44 Sound channel 4 control Mixed All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 196 | / 0xFF24 => todo!(), /// NR50 Master volume & VIN panning R/W All [INFO] [stdout] 197 | | 0xFF25 => todo!(), /// NR51 Sound panning R/W All [INFO] [stdout] 198 | | 0xFF26 => todo!(), /// NR52 Sound on/off Mixed All [INFO] [stdout] 199 | | 0xFF30..=0xFF3F => todo!(), /// Wave RAM Storage for one of the sound channels’ waveform R/W All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:196:32 [INFO] [stdout] | [INFO] [stdout] 196 | 0xFF24 => todo!(), /// NR50 Master volume & VIN panning R/W All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 197 | / 0xFF25 => todo!(), /// NR51 Sound panning R/W All [INFO] [stdout] 198 | | 0xFF26 => todo!(), /// NR52 Sound on/off Mixed All [INFO] [stdout] 199 | | 0xFF30..=0xFF3F => todo!(), /// Wave RAM Storage for one of the sound channels’ waveform R/W All [INFO] [stdout] 200 | | 0xFF40 => todo!(), /// LCDC LCD control R/W All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:197:32 [INFO] [stdout] | [INFO] [stdout] 197 | 0xFF25 => todo!(), /// NR51 Sound panning R/W All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 198 | / 0xFF26 => todo!(), /// NR52 Sound on/off Mixed All [INFO] [stdout] 199 | | 0xFF30..=0xFF3F => todo!(), /// Wave RAM Storage for one of the sound channels’ waveform R/W All [INFO] [stdout] 200 | | 0xFF40 => todo!(), /// LCDC LCD control R/W All [INFO] [stdout] 201 | | 0xFF41 => todo!(), /// STAT LCD status Mixed All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:198:32 [INFO] [stdout] | [INFO] [stdout] 198 | 0xFF26 => todo!(), /// NR52 Sound on/off Mixed All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 199 | / 0xFF30..=0xFF3F => todo!(), /// Wave RAM Storage for one of the sound channels’ waveform R/W All [INFO] [stdout] 200 | | 0xFF40 => todo!(), /// LCDC LCD control R/W All [INFO] [stdout] 201 | | 0xFF41 => todo!(), /// STAT LCD status Mixed All [INFO] [stdout] 202 | | 0xFF42 => todo!(), /// SCY Viewport Y position R/W All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:199:41 [INFO] [stdout] | [INFO] [stdout] 199 | 0xFF30..=0xFF3F => todo!(), /// Wave RAM Storage for one of the sound channels’ waveform R/W All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 200 | / 0xFF40 => todo!(), /// LCDC LCD control R/W All [INFO] [stdout] 201 | | 0xFF41 => todo!(), /// STAT LCD status Mixed All [INFO] [stdout] 202 | | 0xFF42 => todo!(), /// SCY Viewport Y position R/W All [INFO] [stdout] 203 | | 0xFF43 => todo!(), /// SCX Viewport X position R/W All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:200:32 [INFO] [stdout] | [INFO] [stdout] 200 | 0xFF40 => todo!(), /// LCDC LCD control R/W All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 201 | / 0xFF41 => todo!(), /// STAT LCD status Mixed All [INFO] [stdout] 202 | | 0xFF42 => todo!(), /// SCY Viewport Y position R/W All [INFO] [stdout] 203 | | 0xFF43 => todo!(), /// SCX Viewport X position R/W All [INFO] [stdout] 204 | | 0xFF44 => todo!(), /// LY LCD Y coordinate R All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:201:32 [INFO] [stdout] | [INFO] [stdout] 201 | 0xFF41 => todo!(), /// STAT LCD status Mixed All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 202 | / 0xFF42 => todo!(), /// SCY Viewport Y position R/W All [INFO] [stdout] 203 | | 0xFF43 => todo!(), /// SCX Viewport X position R/W All [INFO] [stdout] 204 | | 0xFF44 => todo!(), /// LY LCD Y coordinate R All [INFO] [stdout] 205 | | 0xFF45 => todo!(), /// LYC LY compare R/W All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:202:32 [INFO] [stdout] | [INFO] [stdout] 202 | 0xFF42 => todo!(), /// SCY Viewport Y position R/W All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 203 | / 0xFF43 => todo!(), /// SCX Viewport X position R/W All [INFO] [stdout] 204 | | 0xFF44 => todo!(), /// LY LCD Y coordinate R All [INFO] [stdout] 205 | | 0xFF45 => todo!(), /// LYC LY compare R/W All [INFO] [stdout] 206 | | 0xFF46 => todo!(), /// DMA OAM DMA source address & start R/W All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:203:32 [INFO] [stdout] | [INFO] [stdout] 203 | 0xFF43 => todo!(), /// SCX Viewport X position R/W All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 204 | / 0xFF44 => todo!(), /// LY LCD Y coordinate R All [INFO] [stdout] 205 | | 0xFF45 => todo!(), /// LYC LY compare R/W All [INFO] [stdout] 206 | | 0xFF46 => todo!(), /// DMA OAM DMA source address & start R/W All [INFO] [stdout] 207 | | 0xFF47 => todo!(), /// BGP BG palette data R/W DMG [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:204:32 [INFO] [stdout] | [INFO] [stdout] 204 | 0xFF44 => todo!(), /// LY LCD Y coordinate R All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 205 | / 0xFF45 => todo!(), /// LYC LY compare R/W All [INFO] [stdout] 206 | | 0xFF46 => todo!(), /// DMA OAM DMA source address & start R/W All [INFO] [stdout] 207 | | 0xFF47 => todo!(), /// BGP BG palette data R/W DMG [INFO] [stdout] 208 | | 0xFF48 => todo!(), /// OBP0 OBJ palette 0 data R/W DMG [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:205:32 [INFO] [stdout] | [INFO] [stdout] 205 | 0xFF45 => todo!(), /// LYC LY compare R/W All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 206 | / 0xFF46 => todo!(), /// DMA OAM DMA source address & start R/W All [INFO] [stdout] 207 | | 0xFF47 => todo!(), /// BGP BG palette data R/W DMG [INFO] [stdout] 208 | | 0xFF48 => todo!(), /// OBP0 OBJ palette 0 data R/W DMG [INFO] [stdout] 209 | | 0xFF49 => todo!(), /// OBP1 OBJ palette 1 data R/W DMG [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:206:32 [INFO] [stdout] | [INFO] [stdout] 206 | 0xFF46 => todo!(), /// DMA OAM DMA source address & start R/W All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 207 | / 0xFF47 => todo!(), /// BGP BG palette data R/W DMG [INFO] [stdout] 208 | | 0xFF48 => todo!(), /// OBP0 OBJ palette 0 data R/W DMG [INFO] [stdout] 209 | | 0xFF49 => todo!(), /// OBP1 OBJ palette 1 data R/W DMG [INFO] [stdout] 210 | | 0xFF4A => todo!(), /// WY Window Y position R/W All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:207:32 [INFO] [stdout] | [INFO] [stdout] 207 | 0xFF47 => todo!(), /// BGP BG palette data R/W DMG [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 208 | / 0xFF48 => todo!(), /// OBP0 OBJ palette 0 data R/W DMG [INFO] [stdout] 209 | | 0xFF49 => todo!(), /// OBP1 OBJ palette 1 data R/W DMG [INFO] [stdout] 210 | | 0xFF4A => todo!(), /// WY Window Y position R/W All [INFO] [stdout] 211 | | 0xFF4B => todo!(), /// WX Window X position plus 7 R/W All [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:208:32 [INFO] [stdout] | [INFO] [stdout] 208 | 0xFF48 => todo!(), /// OBP0 OBJ palette 0 data R/W DMG [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 209 | / 0xFF49 => todo!(), /// OBP1 OBJ palette 1 data R/W DMG [INFO] [stdout] 210 | | 0xFF4A => todo!(), /// WY Window Y position R/W All [INFO] [stdout] 211 | | 0xFF4B => todo!(), /// WX Window X position plus 7 R/W All [INFO] [stdout] 212 | | 0xFF4D => todo!(), /// KEY1 Prepare speed switch Mixed CGB [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:209:32 [INFO] [stdout] | [INFO] [stdout] 209 | 0xFF49 => todo!(), /// OBP1 OBJ palette 1 data R/W DMG [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 210 | / 0xFF4A => todo!(), /// WY Window Y position R/W All [INFO] [stdout] 211 | | 0xFF4B => todo!(), /// WX Window X position plus 7 R/W All [INFO] [stdout] 212 | | 0xFF4D => todo!(), /// KEY1 Prepare speed switch Mixed CGB [INFO] [stdout] 213 | | 0xFF4F => self.video.set(addr, v), /// VBK VRAM bank R/W CGB [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:210:32 [INFO] [stdout] | [INFO] [stdout] 210 | 0xFF4A => todo!(), /// WY Window Y position R/W All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 211 | / 0xFF4B => todo!(), /// WX Window X position plus 7 R/W All [INFO] [stdout] 212 | | 0xFF4D => todo!(), /// KEY1 Prepare speed switch Mixed CGB [INFO] [stdout] 213 | | 0xFF4F => self.video.set(addr, v), /// VBK VRAM bank R/W CGB [INFO] [stdout] 214 | | 0xFF51 => todo!(), /// HDMA1 VRAM DMA source high W CGB [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:211:32 [INFO] [stdout] | [INFO] [stdout] 211 | 0xFF4B => todo!(), /// WX Window X position plus 7 R/W All [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 212 | / 0xFF4D => todo!(), /// KEY1 Prepare speed switch Mixed CGB [INFO] [stdout] 213 | | 0xFF4F => self.video.set(addr, v), /// VBK VRAM bank R/W CGB [INFO] [stdout] 214 | | 0xFF51 => todo!(), /// HDMA1 VRAM DMA source high W CGB [INFO] [stdout] 215 | | 0xFF52 => todo!(), /// HDMA2 VRAM DMA source low W CGB [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:212:32 [INFO] [stdout] | [INFO] [stdout] 212 | 0xFF4D => todo!(), /// KEY1 Prepare speed switch Mixed CGB [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 213 | 0xFF4F => self.video.set(addr, v), /// VBK VRAM bank R/W CGB [INFO] [stdout] | --------------------------------- rustdoc does not generate documentation for match arms [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:213:48 [INFO] [stdout] | [INFO] [stdout] 213 | 0xFF4F => self.video.set(addr, v), /// VBK VRAM bank R/W CGB [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 214 | / 0xFF51 => todo!(), /// HDMA1 VRAM DMA source high W CGB [INFO] [stdout] 215 | | 0xFF52 => todo!(), /// HDMA2 VRAM DMA source low W CGB [INFO] [stdout] 216 | | 0xFF53 => todo!(), /// HDMA3 VRAM DMA destination high W CGB [INFO] [stdout] 217 | | 0xFF54 => todo!(), /// HDMA4 VRAM DMA destination low W CGB [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:214:32 [INFO] [stdout] | [INFO] [stdout] 214 | 0xFF51 => todo!(), /// HDMA1 VRAM DMA source high W CGB [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 215 | / 0xFF52 => todo!(), /// HDMA2 VRAM DMA source low W CGB [INFO] [stdout] 216 | | 0xFF53 => todo!(), /// HDMA3 VRAM DMA destination high W CGB [INFO] [stdout] 217 | | 0xFF54 => todo!(), /// HDMA4 VRAM DMA destination low W CGB [INFO] [stdout] 218 | | 0xFF55 => todo!(), /// HDMA5 VRAM DMA length/mode/start R/W CGB [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:215:32 [INFO] [stdout] | [INFO] [stdout] 215 | 0xFF52 => todo!(), /// HDMA2 VRAM DMA source low W CGB [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 216 | / 0xFF53 => todo!(), /// HDMA3 VRAM DMA destination high W CGB [INFO] [stdout] 217 | | 0xFF54 => todo!(), /// HDMA4 VRAM DMA destination low W CGB [INFO] [stdout] 218 | | 0xFF55 => todo!(), /// HDMA5 VRAM DMA length/mode/start R/W CGB [INFO] [stdout] 219 | | 0xFF56 => todo!(), /// RP Infrared communications port Mixed CGB [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:216:32 [INFO] [stdout] | [INFO] [stdout] 216 | 0xFF53 => todo!(), /// HDMA3 VRAM DMA destination high W CGB [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 217 | / 0xFF54 => todo!(), /// HDMA4 VRAM DMA destination low W CGB [INFO] [stdout] 218 | | 0xFF55 => todo!(), /// HDMA5 VRAM DMA length/mode/start R/W CGB [INFO] [stdout] 219 | | 0xFF56 => todo!(), /// RP Infrared communications port Mixed CGB [INFO] [stdout] 220 | | 0xFF68 => todo!(), /// BCPS/BGPI Background color palette specification / Background palette index R/W CGB [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:217:32 [INFO] [stdout] | [INFO] [stdout] 217 | 0xFF54 => todo!(), /// HDMA4 VRAM DMA destination low W CGB [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 218 | / 0xFF55 => todo!(), /// HDMA5 VRAM DMA length/mode/start R/W CGB [INFO] [stdout] 219 | | 0xFF56 => todo!(), /// RP Infrared communications port Mixed CGB [INFO] [stdout] 220 | | 0xFF68 => todo!(), /// BCPS/BGPI Background color palette specification / Background palette index R/W CGB [INFO] [stdout] 221 | | 0xFF69 => todo!(), /// BCPD/BGPD Background color palette data / Background palette data R/W CGB [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:218:32 [INFO] [stdout] | [INFO] [stdout] 218 | 0xFF55 => todo!(), /// HDMA5 VRAM DMA length/mode/start R/W CGB [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 219 | / 0xFF56 => todo!(), /// RP Infrared communications port Mixed CGB [INFO] [stdout] 220 | | 0xFF68 => todo!(), /// BCPS/BGPI Background color palette specification / Background palette index R/W CGB [INFO] [stdout] 221 | | 0xFF69 => todo!(), /// BCPD/BGPD Background color palette data / Background palette data R/W CGB [INFO] [stdout] 222 | | 0xFF6A => todo!(), /// OCPS/OBPI OBJ color palette specification / OBJ palette index R/W CGB [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:219:32 [INFO] [stdout] | [INFO] [stdout] 219 | 0xFF56 => todo!(), /// RP Infrared communications port Mixed CGB [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 220 | / 0xFF68 => todo!(), /// BCPS/BGPI Background color palette specification / Background palette index R/W CGB [INFO] [stdout] 221 | | 0xFF69 => todo!(), /// BCPD/BGPD Background color palette data / Background palette data R/W CGB [INFO] [stdout] 222 | | 0xFF6A => todo!(), /// OCPS/OBPI OBJ color palette specification / OBJ palette index R/W CGB [INFO] [stdout] 223 | | 0xFF6B => todo!(), /// OCPD/OBPD OBJ color palette data / OBJ palette data R/W CGB [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:220:32 [INFO] [stdout] | [INFO] [stdout] 220 | 0xFF68 => todo!(), /// BCPS/BGPI Background color palette specification / Background palette index R/W CGB [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 221 | / 0xFF69 => todo!(), /// BCPD/BGPD Background color palette data / Background palette data R/W CGB [INFO] [stdout] 222 | | 0xFF6A => todo!(), /// OCPS/OBPI OBJ color palette specification / OBJ palette index R/W CGB [INFO] [stdout] 223 | | 0xFF6B => todo!(), /// OCPD/OBPD OBJ color palette data / OBJ palette data R/W CGB [INFO] [stdout] 224 | | 0xFF6C => todo!(), /// OPRI Object priority mode R/W CGB [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:221:32 [INFO] [stdout] | [INFO] [stdout] 221 | 0xFF69 => todo!(), /// BCPD/BGPD Background color palette data / Background palette data R/W CGB [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 222 | / 0xFF6A => todo!(), /// OCPS/OBPI OBJ color palette specification / OBJ palette index R/W CGB [INFO] [stdout] 223 | | 0xFF6B => todo!(), /// OCPD/OBPD OBJ color palette data / OBJ palette data R/W CGB [INFO] [stdout] 224 | | 0xFF6C => todo!(), /// OPRI Object priority mode R/W CGB [INFO] [stdout] 225 | | 0xFF70 => self.work_ram.set(addr, v), /// SVBK WRAM bank R/W CGB [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:222:32 [INFO] [stdout] | [INFO] [stdout] 222 | 0xFF6A => todo!(), /// OCPS/OBPI OBJ color palette specification / OBJ palette index R/W CGB [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 223 | / 0xFF6B => todo!(), /// OCPD/OBPD OBJ color palette data / OBJ palette data R/W CGB [INFO] [stdout] 224 | | 0xFF6C => todo!(), /// OPRI Object priority mode R/W CGB [INFO] [stdout] 225 | | 0xFF70 => self.work_ram.set(addr, v), /// SVBK WRAM bank R/W CGB [INFO] [stdout] 226 | | 0xFF76 => todo!(), /// PCM12 Audio digital outputs 1 & 2 R CGB [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:223:32 [INFO] [stdout] | [INFO] [stdout] 223 | 0xFF6B => todo!(), /// OCPD/OBPD OBJ color palette data / OBJ palette data R/W CGB [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 224 | / 0xFF6C => todo!(), /// OPRI Object priority mode R/W CGB [INFO] [stdout] 225 | | 0xFF70 => self.work_ram.set(addr, v), /// SVBK WRAM bank R/W CGB [INFO] [stdout] 226 | | 0xFF76 => todo!(), /// PCM12 Audio digital outputs 1 & 2 R CGB [INFO] [stdout] 227 | | 0xFF77 => todo!(), /// PCM34 Audio digital outputs 3 & 4 R CGB [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:224:32 [INFO] [stdout] | [INFO] [stdout] 224 | 0xFF6C => todo!(), /// OPRI Object priority mode R/W CGB [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 225 | 0xFF70 => self.work_ram.set(addr, v), /// SVBK WRAM bank R/W CGB [INFO] [stdout] | ------------------------------------ rustdoc does not generate documentation for match arms [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:225:51 [INFO] [stdout] | [INFO] [stdout] 225 | 0xFF70 => self.work_ram.set(addr, v), /// SVBK WRAM bank R/W CGB [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 226 | / 0xFF76 => todo!(), /// PCM12 Audio digital outputs 1 & 2 R CGB [INFO] [stdout] 227 | | 0xFF77 => todo!(), /// PCM34 Audio digital outputs 3 & 4 R CGB [INFO] [stdout] 228 | | 0xFF80..=0xFFFE => self.work_ram.set(addr, v), [INFO] [stdout] 229 | | 0xFFFF => self.interrupt.borrow_mut().set(addr, v), [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:226:32 [INFO] [stdout] | [INFO] [stdout] 226 | 0xFF76 => todo!(), /// PCM12 Audio digital outputs 1 & 2 R CGB [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 227 | / 0xFF77 => todo!(), /// PCM34 Audio digital outputs 3 & 4 R CGB [INFO] [stdout] 228 | | 0xFF80..=0xFFFE => self.work_ram.set(addr, v), [INFO] [stdout] 229 | | 0xFFFF => self.interrupt.borrow_mut().set(addr, v), [INFO] [stdout] 230 | | addr => panic!("MMU access denied, addr: 0x{:04X}", addr), [INFO] [stdout] ... | [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/mmu.rs:227:32 [INFO] [stdout] | [INFO] [stdout] 227 | 0xFF77 => todo!(), /// PCM34 Audio digital outputs 3 & 4 R CGB [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 228 | 0xFF80..=0xFFFE => self.work_ram.set(addr, v), [INFO] [stdout] | --------------------------------------------- rustdoc does not generate documentation for match arms [INFO] [stdout] | [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::mmu::Memory` [INFO] [stdout] --> src/io_device/mod.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::mmu::Memory; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/io_device/joypad.rs:59:28 [INFO] [stdout] | [INFO] [stdout] 59 | self.matrix |= (*key as u8); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 59 - self.matrix |= (*key as u8); [INFO] [stdout] 59 + self.matrix |= *key as u8; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::cpu::CPU` [INFO] [stdout] --> src/io_device/interrupt.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::cpu::CPU; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/io_device/interrupt.rs:81:23 [INFO] [stdout] | [INFO] [stdout] 81 | self.int_f |= (0x01 << (flag as u8)); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 81 - self.int_f |= (0x01 << (flag as u8)); [INFO] [stdout] 81 + self.int_f |= 0x01 << (flag as u8); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable call [INFO] [stdout] --> src/tests/cpu_instrs.rs:11:25 [INFO] [stdout] | [INFO] [stdout] 10 | #[test] [INFO] [stdout] | ------- in this procedural macro expansion [INFO] [stdout] 11 | fn test_cpu_instrs() -> ! { [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | unreachable call [INFO] [stdout] | any code following this expression is unreachable [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::mmu::Memory` [INFO] [stdout] --> src/cpu/lr35902/mod.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use crate::mmu::Memory; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/cpu/lr35902/opcode/cbprefixed_opcode.rs:233:13 [INFO] [stdout] | [INFO] [stdout] 233 | other => panic!("Unsupported opcode: 0x{:04X}", other), [INFO] [stdout] | ^^^^^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/cpu/lr35902/opcode/cbprefixed_opcode.rs:233:13 [INFO] [stdout] | [INFO] [stdout] 27 | 0x00..=0x07 => { [INFO] [stdout] | ----------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 43 | 0x08..=0x0F => { [INFO] [stdout] | ----------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 59 | 0x10..=0x17 => { [INFO] [stdout] | ----------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 75 | 0x18..=0x1F => { [INFO] [stdout] | ----------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 233 | other => panic!("Unsupported opcode: 0x{:04X}", other), [INFO] [stdout] | ^^^^^ ...and 7 other patterns collectively make this unreachable [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::mmu::Memory` [INFO] [stdout] --> src/cpu/lr35902/mod.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use crate::mmu::Memory; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `FPS` is never used [INFO] [stdout] --> src/lib.rs:12:7 [INFO] [stdout] | [INFO] [stdout] 12 | const FPS: u64 = 60; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `RefCPU` is never used [INFO] [stdout] --> src/cpu/mod.rs:9:10 [INFO] [stdout] | [INFO] [stdout] 9 | pub type RefCPU = Rc>>; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `CPU` is never used [INFO] [stdout] --> src/cpu/mod.rs:11:11 [INFO] [stdout] | [INFO] [stdout] 11 | pub trait CPU { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CPUInfo` is never constructed [INFO] [stdout] --> src/cpu/mod.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 19 | pub struct CPUInfo { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/cpu/mod.rs:25:12 [INFO] [stdout] | [INFO] [stdout] 24 | impl CPUInfo { [INFO] [stdout] | ------------ associated function in this implementation [INFO] [stdout] 25 | pub fn new(freq: u64) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_hi` is never used [INFO] [stdout] --> src/cpu/mod.rs:35:8 [INFO] [stdout] | [INFO] [stdout] 35 | pub fn get_hi(src: &u16) -> u8 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `set_hi` is never used [INFO] [stdout] --> src/cpu/mod.rs:40:8 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn set_hi(src: &mut u16, val: u8) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_lo` is never used [INFO] [stdout] --> src/cpu/mod.rs:45:8 [INFO] [stdout] | [INFO] [stdout] 45 | pub fn get_lo(src: &u16) -> u8 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `set_lo` is never used [INFO] [stdout] --> src/cpu/mod.rs:50:8 [INFO] [stdout] | [INFO] [stdout] 50 | pub fn set_lo(src: &mut u16, val: u8) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_bit` is never used [INFO] [stdout] --> src/cpu/mod.rs:54:8 [INFO] [stdout] | [INFO] [stdout] 54 | pub fn get_bit(src: &u16, i: u8) -> u8 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `set_bit` is never used [INFO] [stdout] --> src/cpu/mod.rs:59:8 [INFO] [stdout] | [INFO] [stdout] 59 | pub fn set_bit(src: &mut u16, i: u8, val: u8) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `FREQ` is never used [INFO] [stdout] --> src/cpu/lr35902/mod.rs:18:7 [INFO] [stdout] | [INFO] [stdout] 18 | const FREQ: u64 = 0x0040_0000; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `LR35902` is never constructed [INFO] [stdout] --> src/cpu/lr35902/mod.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct LR35902 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/cpu/lr35902/mod.rs:34:12 [INFO] [stdout] | [INFO] [stdout] 33 | impl LR35902 { [INFO] [stdout] | ------------ associated function in this implementation [INFO] [stdout] 34 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `imm_u8`, `imm_u16`, `actual_run`, `actual_run_0`, and `opcode_run` are never used [INFO] [stdout] --> src/cpu/lr35902/mod.rs:53:8 [INFO] [stdout] | [INFO] [stdout] 52 | impl LR35902 { [INFO] [stdout] | ------------ methods in this implementation [INFO] [stdout] 53 | fn imm_u8(&mut self) -> u8 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 61 | fn imm_u16(&mut self) -> u16 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 68 | fn actual_run(&mut self, opcode: u16) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 75 | fn actual_run_0(&mut self, opcode: u16) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 100 | fn opcode_run(&mut self, opcode: u16) -> u8 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Registers` is never constructed [INFO] [stdout] --> src/cpu/lr35902/registers.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 18 | pub struct Registers { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Register` is never used [INFO] [stdout] --> src/cpu/lr35902/registers.rs:32:10 [INFO] [stdout] | [INFO] [stdout] 32 | pub enum Register { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/cpu/lr35902/registers.rs:50:12 [INFO] [stdout] | [INFO] [stdout] 49 | impl Registers { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] 50 | pub fn new(gb_term: GBTerm) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 83 | pub fn get_u16(&self, reg: Register) -> u16 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 95 | pub fn set_u16(&mut self, reg: Register, val: u16) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 107 | pub fn get_and_incr_by_u16(&mut self, reg: Register, by: u16) -> u16 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 143 | pub fn get_and_incr_u16(&mut self, reg: Register) -> u16 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 147 | pub fn incr_by_and_get_u16(&mut self, reg: Register, by: u16) -> u16 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 177 | pub fn incr_and_get_u16(&mut self, reg: Register) -> u16 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 181 | pub fn get_and_decr_u16(&mut self, reg: Register) -> u16 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 217 | pub fn decr_by_and_get_u16(&mut self, reg: Register, by: u16) -> u16 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 247 | pub fn decr_and_get_u16(&mut self, reg: Register) -> u16 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 251 | pub fn get_u8(&self, reg: Register) -> u8 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 265 | pub fn set_u8(&mut self, reg: Register, val: u8) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Flag` is never used [INFO] [stdout] --> src/cpu/lr35902/registers.rs:290:10 [INFO] [stdout] | [INFO] [stdout] 290 | pub enum Flag { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_flag` and `set_flag` are never used [INFO] [stdout] --> src/cpu/lr35902/registers.rs:311:12 [INFO] [stdout] | [INFO] [stdout] 310 | impl Registers { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] 311 | pub fn get_flag(&self, flag: Flag) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 316 | pub fn set_flag(&mut self, flag: Flag, val: bool) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CB_PREFIXED` is never used [INFO] [stdout] --> src/cpu/lr35902/opcode/mod.rs:8:11 [INFO] [stdout] | [INFO] [stdout] 8 | pub const CB_PREFIXED: u16 = 0xCB00; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `alu_rlc`, `alu_rl`, `alu_rrc`, and `alu_rr` are never used [INFO] [stdout] --> src/cpu/lr35902/opcode/mod.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 10 | impl LR35902 { [INFO] [stdout] | ------------ methods in this implementation [INFO] [stdout] 11 | fn alu_rlc(&mut self, val: u8) -> u8 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 21 | fn alu_rl(&mut self, val: u8) -> u8 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | fn alu_rrc(&mut self, val: u8) -> u8 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 41 | fn alu_rr(&mut self, val: u8) -> u8 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `OPCODE_CYCLES` is never used [INFO] [stdout] --> src/cpu/lr35902/opcode/unprefixed_opcode.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 4 | static OPCODE_CYCLES: [[u8; 2]; 0x100] = [ [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/cpu/lr35902/opcode/unprefixed_opcode.rs:24:12 [INFO] [stdout] | [INFO] [stdout] 23 | impl LR35902 { [INFO] [stdout] | ------------ methods in this implementation [INFO] [stdout] 24 | pub fn unprefixed_exec_opcode(&mut self, opcode: u8) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 869 | fn alu_daa(&mut self, opcode: u8) -> u8 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 893 | fn alu_jr_i8(&mut self, opcode: u8, val: u8) -> u8 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 899 | fn alu_ret(&mut self, opcode: u8) -> u8 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 904 | fn alu_pop(&mut self, opcode: u8, reg: Register) -> u8 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 912 | fn alu_push(&mut self, opcode: u8, reg: Register) -> u8 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 920 | fn alu_call(&mut self, opcode: u8, addr: u16) -> u8 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 926 | fn alu_incr_reg(&mut self, opcode: u8, reg: Register) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 936 | fn alu_incr_addr(&mut self, opcode: u8, addr: u16) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 946 | fn alu_decr_reg(&mut self, opcode: u8, reg: Register) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 956 | fn alu_decr_addr(&mut self, opcode: u8, addr: u16) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 966 | fn alu_add_hl(&mut self, opcode: u8, val: u16) -> u8 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 976 | fn alu_add(&mut self, opcode: u8, val: u8) -> u8 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 987 | fn alu_add_sp_i8(&mut self, opcode: u8, val: u8) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 999 | fn alu_adc(&mut self, opcode: u8, val: u8) -> u8 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1011 | fn alu_sub(&mut self, opcode: u8, val: u8) -> u8 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1022 | fn alu_sbc(&mut self, opcode: u8, val: u8) -> u8 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1034 | fn alu_and(&mut self, opcode: u8, val: u8) -> u8 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1045 | fn alu_xor(&mut self, opcode: u8, val: u8) -> u8 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1056 | fn alu_or(&mut self, opcode: u8, val: u8) -> u8 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1068 | fn alu_cp(&mut self, opcode: u8, val: u8) -> u8 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `OPCODE_CYCLES` is never used [INFO] [stdout] --> src/cpu/lr35902/opcode/cbprefixed_opcode.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 4 | static OPCODE_CYCLES: [[u8; 2]; 0x100] = [ [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/cpu/lr35902/opcode/cbprefixed_opcode.rs:24:12 [INFO] [stdout] | [INFO] [stdout] 23 | impl LR35902 { [INFO] [stdout] | ------------ associated items in this implementation [INFO] [stdout] 24 | pub fn cbprefixed_exec_opcode(&mut self, opcode: u8) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 237 | fn get_reg(opcode: u8) -> Register { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 251 | fn alu_sla(&mut self, val: u8) -> u8 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 261 | fn alu_sra(&mut self, val: u8) -> u8 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 270 | fn alu_swap(&mut self, val: u8) -> u8 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 279 | fn alu_srl(&mut self, val: u8) -> u8 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 288 | fn alu_bit(&mut self, val: u8, n: u8) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 296 | fn alu_reset(&mut self, val: u8, n: u8) -> u8 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 300 | fn alu_set(&mut self, val: u8, n: u8) -> u8 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `FRAME_DURATION` is never used [INFO] [stdout] --> src/cpu/lr35902/clock.rs:8:7 [INFO] [stdout] | [INFO] [stdout] 8 | const FRAME_DURATION: u64 = 1000 / FPS; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CYCLES_PER_FRAME` is never used [INFO] [stdout] --> src/cpu/lr35902/clock.rs:10:7 [INFO] [stdout] | [INFO] [stdout] 10 | const CYCLES_PER_FRAME: u64 = (FREQ as f64 / 1000f64 * (FRAME_DURATION as f64)) as u64; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Clock` is never constructed [INFO] [stdout] --> src/cpu/lr35902/clock.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 13 | pub struct Clock { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ClockStep` is never constructed [INFO] [stdout] --> src/cpu/lr35902/clock.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 18 | pub struct ClockStep {} [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/cpu/lr35902/opcode/cbprefixed_opcode.rs:233:13 [INFO] [stdout] | [INFO] [stdout] 233 | other => panic!("Unsupported opcode: 0x{:04X}", other), [INFO] [stdout] | ^^^^^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/cpu/lr35902/opcode/cbprefixed_opcode.rs:233:13 [INFO] [stdout] | [INFO] [stdout] 27 | 0x00..=0x07 => { [INFO] [stdout] | ----------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 43 | 0x08..=0x0F => { [INFO] [stdout] | ----------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 59 | 0x10..=0x17 => { [INFO] [stdout] | ----------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 75 | 0x18..=0x1F => { [INFO] [stdout] | ----------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 233 | other => panic!("Unsupported opcode: 0x{:04X}", other), [INFO] [stdout] | ^^^^^ ...and 7 other patterns collectively make this unreachable [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `step`, and `now` are never used [INFO] [stdout] --> src/cpu/lr35902/clock.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 20 | impl Clock { [INFO] [stdout] | ---------- associated items in this implementation [INFO] [stdout] 21 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 28 | pub fn step(&mut self, cycles: u8) -> crate::Result<()> { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 42 | pub fn now(&self) -> SystemTime { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GPU` is never constructed [INFO] [stdout] --> src/gpu.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct GPU { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/gpu.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 13 | impl GPU { [INFO] [stdout] | -------- associated function in this implementation [INFO] [stdout] 14 | pub fn new() -> GPU { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `OFFSET` is never used [INFO] [stdout] --> src/gpu.rs:19:7 [INFO] [stdout] | [INFO] [stdout] 19 | const OFFSET: u16 = 0x8000; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MotherBoard` is never constructed [INFO] [stdout] --> src/mother_board.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct MotherBoard { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `cpu`, and `start` are never used [INFO] [stdout] --> src/mother_board.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 16 | impl MotherBoard { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 17 | pub fn new(rom_path: String, ram_path: String, rtc_path: String) -> crate::Result { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 37 | pub fn cpu(&self) -> Ref> { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 42 | pub fn start(&self) -> ! { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `RefMemory` is never used [INFO] [stdout] --> src/mmu.rs:10:10 [INFO] [stdout] | [INFO] [stdout] 10 | pub type RefMemory = Rc>>; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Memory` is never used [INFO] [stdout] --> src/mmu.rs:12:11 [INFO] [stdout] | [INFO] [stdout] 12 | pub trait Memory { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `RAM` is never used [INFO] [stdout] --> src/mmu.rs:55:10 [INFO] [stdout] | [INFO] [stdout] 55 | pub type RAM = Rc>>>; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `new_ram` is never used [INFO] [stdout] --> src/mmu.rs:57:8 [INFO] [stdout] | [INFO] [stdout] 57 | pub fn new_ram() -> RAM where { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MMU` is never constructed [INFO] [stdout] --> src/mmu.rs:61:12 [INFO] [stdout] | [INFO] [stdout] 61 | pub struct MMU { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/mmu.rs:71:12 [INFO] [stdout] | [INFO] [stdout] 70 | impl MMU { [INFO] [stdout] | -------- associated function in this implementation [INFO] [stdout] 71 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BlockRam` is never constructed [INFO] [stdout] --> src/mmu.rs:236:12 [INFO] [stdout] | [INFO] [stdout] 236 | pub struct BlockRam { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/mmu.rs:241:12 [INFO] [stdout] | [INFO] [stdout] 240 | impl BlockRam { [INFO] [stdout] | -------------------------------------- associated function in this implementation [INFO] [stdout] 241 | pub fn new() -> BlockRam { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Prohibited` is never constructed [INFO] [stdout] --> src/mmu.rs:261:12 [INFO] [stdout] | [INFO] [stdout] 261 | pub struct Prohibited {} [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/mmu.rs:264:12 [INFO] [stdout] | [INFO] [stdout] 263 | impl Prohibited { [INFO] [stdout] | --------------- associated function in this implementation [INFO] [stdout] 264 | pub fn new() -> Prohibited { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `IO_ADDR_JOYPAD` is never used [INFO] [stdout] --> src/io_device/mod.rs:16:11 [INFO] [stdout] | [INFO] [stdout] 16 | pub const IO_ADDR_JOYPAD: u16 = 0xFF00; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `IO_ADDR_VBK` is never used [INFO] [stdout] --> src/io_device/mod.rs:21:11 [INFO] [stdout] | [INFO] [stdout] 21 | pub const IO_ADDR_VBK: u16 = 0xFF4F; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `IO_ADDR_INT_F` is never used [INFO] [stdout] --> src/io_device/mod.rs:26:11 [INFO] [stdout] | [INFO] [stdout] 26 | pub const IO_ADDR_INT_F: u16 = 0xFF0F; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `IO_ADDR_SVBK` is never used [INFO] [stdout] --> src/io_device/mod.rs:31:11 [INFO] [stdout] | [INFO] [stdout] 31 | pub const IO_ADDR_SVBK: u16 = 0xFF70; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `IO_ADDR_INT_E` is never used [INFO] [stdout] --> src/io_device/mod.rs:36:11 [INFO] [stdout] | [INFO] [stdout] 36 | pub const IO_ADDR_INT_E: u16 = 0xFFFF; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `JoypadKey` is never used [INFO] [stdout] --> src/io_device/joypad.rs:12:10 [INFO] [stdout] | [INFO] [stdout] 12 | pub enum JoypadKey { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `RefJoypad` is never used [INFO] [stdout] --> src/io_device/joypad.rs:23:10 [INFO] [stdout] | [INFO] [stdout] 23 | pub type RefJoypad = Rc>; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Joypad` is never constructed [INFO] [stdout] --> src/io_device/joypad.rs:26:12 [INFO] [stdout] | [INFO] [stdout] 26 | pub struct Joypad { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `keydown`, and `keyup` are never used [INFO] [stdout] --> src/io_device/joypad.rs:33:12 [INFO] [stdout] | [INFO] [stdout] 32 | impl Joypad { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] 33 | pub fn new(interrupt: RefInterrupt) -> RefJoypad { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | fn keydown(&mut self, key: Key) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 57 | fn keyup(&mut self, key: Key) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Flag` is never used [INFO] [stdout] --> src/io_device/interrupt.rs:12:10 [INFO] [stdout] | [INFO] [stdout] 12 | pub enum Flag { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `IntHandlerFunc` is never used [INFO] [stdout] --> src/io_device/interrupt.rs:33:6 [INFO] [stdout] | [INFO] [stdout] 33 | type IntHandlerFunc = fn(RefMemory); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `IDT` is never constructed [INFO] [stdout] --> src/io_device/interrupt.rs:35:8 [INFO] [stdout] | [INFO] [stdout] 35 | struct IDT { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Interrupt` is never constructed [INFO] [stdout] --> src/io_device/interrupt.rs:49:12 [INFO] [stdout] | [INFO] [stdout] 49 | pub struct Interrupt { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `RefInterrupt` is never used [INFO] [stdout] --> src/io_device/interrupt.rs:57:10 [INFO] [stdout] | [INFO] [stdout] 57 | pub type RefInterrupt = Rc>; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `set_handler_fn`, `toggle`, and `handle` are never used [INFO] [stdout] --> src/io_device/interrupt.rs:61:12 [INFO] [stdout] | [INFO] [stdout] 60 | impl Interrupt { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] 61 | pub fn new() -> RefInterrupt { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 69 | pub fn set_handler_fn(&mut self, flag: Flag, handler: IntHandlerFunc) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 80 | pub fn toggle(&mut self, flag: Flag) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 85 | pub fn handle(&mut self, mem: RefMemory, flag: Flag) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BANK_SIZE` is never used [INFO] [stdout] --> src/io_device/video.rs:6:7 [INFO] [stdout] | [INFO] [stdout] 6 | const BANK_SIZE: usize = 0x02; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `V_RAM_CAPACITY` is never used [INFO] [stdout] --> src/io_device/video.rs:7:7 [INFO] [stdout] | [INFO] [stdout] 7 | const V_RAM_CAPACITY: usize = 0x1000; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `OAM_CAPACITY` is never used [INFO] [stdout] --> src/io_device/video.rs:9:7 [INFO] [stdout] | [INFO] [stdout] 9 | const OAM_CAPACITY: usize = 0xA0; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Video` is never constructed [INFO] [stdout] --> src/io_device/video.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 16 | pub struct Video { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/io_device/video.rs:23:12 [INFO] [stdout] | [INFO] [stdout] 22 | impl Video { [INFO] [stdout] | ---------- associated function in this implementation [INFO] [stdout] 23 | pub fn new() -> Video { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BANK_SIZE` is never used [INFO] [stdout] --> src/io_device/wram.rs:4:7 [INFO] [stdout] | [INFO] [stdout] 4 | const BANK_SIZE: usize = 0x10; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `RAM_CAPACITY` is never used [INFO] [stdout] --> src/io_device/wram.rs:5:7 [INFO] [stdout] | [INFO] [stdout] 5 | const RAM_CAPACITY: usize = 0x1000; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `WorkRam` is never constructed [INFO] [stdout] --> src/io_device/wram.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct WorkRam { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/io_device/wram.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 17 | impl WorkRam { [INFO] [stdout] | ------------ associated function in this implementation [INFO] [stdout] 18 | pub fn new() -> WorkRam { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HEADER_BASE` is never used [INFO] [stdout] --> src/io_device/cartridge/mod.rs:17:7 [INFO] [stdout] | [INFO] [stdout] 17 | const HEADER_BASE: u16 = 0x0100; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HEADER_END` is never used [INFO] [stdout] --> src/io_device/cartridge/mod.rs:19:7 [INFO] [stdout] | [INFO] [stdout] 19 | const HEADER_END: u16 = 0x014F; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HEADER_LEN` is never used [INFO] [stdout] --> src/io_device/cartridge/mod.rs:22:7 [INFO] [stdout] | [INFO] [stdout] 22 | const HEADER_LEN: u16 = HEADER_END - HEADER_BASE + 1; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HEADER_ENTRY_BASE` is never used [INFO] [stdout] --> src/io_device/cartridge/mod.rs:25:7 [INFO] [stdout] | [INFO] [stdout] 25 | const HEADER_ENTRY_BASE: u16 = 0x0100; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HEADER_ENTRY_END` is never used [INFO] [stdout] --> src/io_device/cartridge/mod.rs:27:7 [INFO] [stdout] | [INFO] [stdout] 27 | const HEADER_ENTRY_END: u16 = 0x0103; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HEADER_NINTENDO_LOGO_BASE` is never used [INFO] [stdout] --> src/io_device/cartridge/mod.rs:30:7 [INFO] [stdout] | [INFO] [stdout] 30 | const HEADER_NINTENDO_LOGO_BASE: u16 = 0x0104; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HEADER_NINTENDO_LOGO_END` is never used [INFO] [stdout] --> src/io_device/cartridge/mod.rs:32:7 [INFO] [stdout] | [INFO] [stdout] 32 | const HEADER_NINTENDO_LOGO_END: u16 = 0x0133; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HEADER_NINTENDO_LOGO_LEN` is never used [INFO] [stdout] --> src/io_device/cartridge/mod.rs:35:7 [INFO] [stdout] | [INFO] [stdout] 35 | const HEADER_NINTENDO_LOGO_LEN: u16 = HEADER_NINTENDO_LOGO_END - HEADER_NINTENDO_LOGO_BASE + 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NINTENDO_LOGO` is never used [INFO] [stdout] --> src/io_device/cartridge/mod.rs:39:7 [INFO] [stdout] | [INFO] [stdout] 39 | const NINTENDO_LOGO: [u8; HEADER_NINTENDO_LOGO_LEN as usize] = [ [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HEADER_TITLE_BASE` is never used [INFO] [stdout] --> src/io_device/cartridge/mod.rs:46:7 [INFO] [stdout] | [INFO] [stdout] 46 | const HEADER_TITLE_BASE: u16 = 0x0134; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HEADER_TITLE_END_GB` is never used [INFO] [stdout] --> src/io_device/cartridge/mod.rs:49:7 [INFO] [stdout] | [INFO] [stdout] 49 | const HEADER_TITLE_END_GB: u16 = 0x0142; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HEADER_TITLE_GB_LEN` is never used [INFO] [stdout] --> src/io_device/cartridge/mod.rs:50:7 [INFO] [stdout] | [INFO] [stdout] 50 | const HEADER_TITLE_GB_LEN: u16 = HEADER_TITLE_END_GB - HEADER_TITLE_BASE + 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HEADER_CGB_FLAG` is never used [INFO] [stdout] --> src/io_device/cartridge/mod.rs:52:7 [INFO] [stdout] | [INFO] [stdout] 52 | const HEADER_CGB_FLAG: u16 = 0x0143; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CGB_FLAG_COMPATIBLE` is never used [INFO] [stdout] --> src/io_device/cartridge/mod.rs:53:7 [INFO] [stdout] | [INFO] [stdout] 53 | const CGB_FLAG_COMPATIBLE: u8 = 0x80; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CGB_FLAG_ONLY` is never used [INFO] [stdout] --> src/io_device/cartridge/mod.rs:54:7 [INFO] [stdout] | [INFO] [stdout] 54 | const CGB_FLAG_ONLY: u8 = 0xC0; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `CGBFlag` is never used [INFO] [stdout] --> src/io_device/cartridge/mod.rs:57:10 [INFO] [stdout] | [INFO] [stdout] 57 | pub enum CGBFlag { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HEADER_MANUFACTURER_CODE_BASE` is never used [INFO] [stdout] --> src/io_device/cartridge/mod.rs:65:7 [INFO] [stdout] | [INFO] [stdout] 65 | const HEADER_MANUFACTURER_CODE_BASE: u16 = 0x013F; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HEADER_MANUFACTURER_CODE_END` is never used [INFO] [stdout] --> src/io_device/cartridge/mod.rs:68:7 [INFO] [stdout] | [INFO] [stdout] 68 | const HEADER_MANUFACTURER_CODE_END: u16 = 0x0142; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HEADER_MANUFACTURER_CODE_LEN` is never used [INFO] [stdout] --> src/io_device/cartridge/mod.rs:69:7 [INFO] [stdout] | [INFO] [stdout] 69 | const HEADER_MANUFACTURER_CODE_LEN: u16 = HEADER_MANUFACTURER_CODE_END - HEADER_MANUFACTURER_CODE_BASE + 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HEADER_TITLE_END_CGB` is never used [INFO] [stdout] --> src/io_device/cartridge/mod.rs:72:7 [INFO] [stdout] | [INFO] [stdout] 72 | const HEADER_TITLE_END_CGB: u16 = 0x013E; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HEADER_TITLE_CGB_LEN` is never used [INFO] [stdout] --> src/io_device/cartridge/mod.rs:73:7 [INFO] [stdout] | [INFO] [stdout] 73 | const HEADER_TITLE_CGB_LEN: u16 = HEADER_TITLE_END_CGB - HEADER_TITLE_BASE + 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HEADER_NEW_LICENSEE_CODE_BASE` is never used [INFO] [stdout] --> src/io_device/cartridge/mod.rs:76:7 [INFO] [stdout] | [INFO] [stdout] 76 | const HEADER_NEW_LICENSEE_CODE_BASE: u16 = 0x0144; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HEADER_NEW_LICENSEE_CODE_END` is never used [INFO] [stdout] --> src/io_device/cartridge/mod.rs:78:7 [INFO] [stdout] | [INFO] [stdout] 78 | const HEADER_NEW_LICENSEE_CODE_END: u16 = 0x0145; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HEADER_NEW_LICENSEE_CODE_LEN` is never used [INFO] [stdout] --> src/io_device/cartridge/mod.rs:79:7 [INFO] [stdout] | [INFO] [stdout] 79 | const HEADER_NEW_LICENSEE_CODE_LEN: u16 = HEADER_NEW_LICENSEE_CODE_END - HEADER_NEW_LICENSEE_CODE_BASE + 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HEADER_SGB_FLAG` is never used [INFO] [stdout] --> src/io_device/cartridge/mod.rs:82:7 [INFO] [stdout] | [INFO] [stdout] 82 | const HEADER_SGB_FLAG: u16 = 0x0146; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `SGBFlag` is never used [INFO] [stdout] --> src/io_device/cartridge/mod.rs:85:10 [INFO] [stdout] | [INFO] [stdout] 85 | pub enum SGBFlag { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HEADER_CART_TYPE` is never used [INFO] [stdout] --> src/io_device/cartridge/mod.rs:91:7 [INFO] [stdout] | [INFO] [stdout] 91 | const HEADER_CART_TYPE: u16 = 0x0147; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HEADER_ROM_SIZE` is never used [INFO] [stdout] --> src/io_device/cartridge/mod.rs:94:7 [INFO] [stdout] | [INFO] [stdout] 94 | const HEADER_ROM_SIZE: u16 = 0x0148; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HEADER_RAM_SIZE` is never used [INFO] [stdout] --> src/io_device/cartridge/mod.rs:97:7 [INFO] [stdout] | [INFO] [stdout] 97 | const HEADER_RAM_SIZE: u16 = 0x0149; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HEADER_DESTINATION_CODE` is never used [INFO] [stdout] --> src/io_device/cartridge/mod.rs:100:7 [INFO] [stdout] | [INFO] [stdout] 100 | const HEADER_DESTINATION_CODE: u16 = 0x014A; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HEADER_OLD_LICENSEE_CODE` is never used [INFO] [stdout] --> src/io_device/cartridge/mod.rs:103:7 [INFO] [stdout] | [INFO] [stdout] 103 | const HEADER_OLD_LICENSEE_CODE: u16 = 0x014B; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HEADER_MASK_ROM_VERSION_NUM` is never used [INFO] [stdout] --> src/io_device/cartridge/mod.rs:106:7 [INFO] [stdout] | [INFO] [stdout] 106 | const HEADER_MASK_ROM_VERSION_NUM: u16 = 0x14C; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HEADER_CHECK_BASE` is never used [INFO] [stdout] --> src/io_device/cartridge/mod.rs:109:7 [INFO] [stdout] | [INFO] [stdout] 109 | const HEADER_CHECK_BASE: u16 = 0x0134; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HEADER_CHECK_END` is never used [INFO] [stdout] --> src/io_device/cartridge/mod.rs:111:7 [INFO] [stdout] | [INFO] [stdout] 111 | const HEADER_CHECK_END: u16 = 0x14C; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HEADER_CHECK_LEN` is never used [INFO] [stdout] --> src/io_device/cartridge/mod.rs:112:7 [INFO] [stdout] | [INFO] [stdout] 112 | const HEADER_CHECK_LEN: u16 = HEADER_CHECK_END - HEADER_CHECK_BASE + 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HEADER_CHECKSUM` is never used [INFO] [stdout] --> src/io_device/cartridge/mod.rs:115:7 [INFO] [stdout] | [INFO] [stdout] 115 | const HEADER_CHECKSUM: u16 = 0x014D; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HEADER_GLOBAL_CHECKSUM_BASE` is never used [INFO] [stdout] --> src/io_device/cartridge/mod.rs:118:7 [INFO] [stdout] | [INFO] [stdout] 118 | const HEADER_GLOBAL_CHECKSUM_BASE: u16 = 0x014E; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HEADER_GLOBAL_CHECKSUM_END` is never used [INFO] [stdout] --> src/io_device/cartridge/mod.rs:120:7 [INFO] [stdout] | [INFO] [stdout] 120 | const HEADER_GLOBAL_CHECKSUM_END: u16 = 0x014F; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HEADER_GLOBAL_CHECKSUM_LEN` is never used [INFO] [stdout] --> src/io_device/cartridge/mod.rs:121:7 [INFO] [stdout] | [INFO] [stdout] 121 | const HEADER_GLOBAL_CHECKSUM_LEN: u16 = HEADER_GLOBAL_CHECKSUM_END - HEADER_GLOBAL_CHECKSUM_BASE + 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Rom` is never constructed [INFO] [stdout] --> src/io_device/cartridge/mod.rs:124:12 [INFO] [stdout] | [INFO] [stdout] 124 | pub struct Rom { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/io_device/cartridge/mod.rs:129:12 [INFO] [stdout] | [INFO] [stdout] 128 | impl Rom { [INFO] [stdout] | -------- associated function in this implementation [INFO] [stdout] 129 | pub fn new(path: String) -> Result { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Ram` is never constructed [INFO] [stdout] --> src/io_device/cartridge/mod.rs:147:12 [INFO] [stdout] | [INFO] [stdout] 147 | pub struct Ram { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `from`, `dump`, and `mem` are never used [INFO] [stdout] --> src/io_device/cartridge/mod.rs:153:12 [INFO] [stdout] | [INFO] [stdout] 152 | impl Ram { [INFO] [stdout] | -------- associated items in this implementation [INFO] [stdout] 153 | pub fn new(path: String, size: usize, content_supplier: F) -> Result [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 170 | pub fn from(mem: Vec, path: String) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 174 | pub fn dump(&self) -> Result<()> { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 180 | pub fn mem(&self) -> &Vec { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CART_TYPE_ROM_ONLY` is never used [INFO] [stdout] --> src/io_device/cartridge/mod.rs:195:7 [INFO] [stdout] | [INFO] [stdout] 195 | const CART_TYPE_ROM_ONLY: u8 = 0x00; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RomOnly` is never constructed [INFO] [stdout] --> src/io_device/cartridge/mod.rs:197:8 [INFO] [stdout] | [INFO] [stdout] 197 | struct RomOnly { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `power_up` and `new` are never used [INFO] [stdout] --> src/io_device/cartridge/mod.rs:202:12 [INFO] [stdout] | [INFO] [stdout] 201 | impl RomOnly { [INFO] [stdout] | ------------ associated functions in this implementation [INFO] [stdout] 202 | pub fn power_up(rom: Rom) -> Result> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 206 | fn new(rom: Rom) -> Result { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Cartridge` is never used [INFO] [stdout] --> src/io_device/cartridge/mod.rs:231:11 [INFO] [stdout] | [INFO] [stdout] 231 | pub trait Cartridge: Memory { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CartridgeInfo` is never constructed [INFO] [stdout] --> src/io_device/cartridge/mod.rs:458:12 [INFO] [stdout] | [INFO] [stdout] 458 | pub struct CartridgeInfo { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `RefCartridge` is never used [INFO] [stdout] --> src/io_device/cartridge/mod.rs:504:10 [INFO] [stdout] | [INFO] [stdout] 504 | pub type RefCartridge = Rc>>; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `power_up` is never used [INFO] [stdout] --> src/io_device/cartridge/mod.rs:506:8 [INFO] [stdout] | [INFO] [stdout] 506 | pub fn power_up(rom_path: String, ram_path: String, rtc_path: String) -> Result { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ROM_BANK_LEN` is never used [INFO] [stdout] --> src/io_device/cartridge/mbc/mod.rs:9:7 [INFO] [stdout] | [INFO] [stdout] 9 | const ROM_BANK_LEN: u16 = 0x4000; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ROM_0_BASE` is never used [INFO] [stdout] --> src/io_device/cartridge/mbc/mod.rs:12:7 [INFO] [stdout] | [INFO] [stdout] 12 | const ROM_0_BASE: u16 = 0x0000; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ROM_0_END` is never used [INFO] [stdout] --> src/io_device/cartridge/mbc/mod.rs:14:7 [INFO] [stdout] | [INFO] [stdout] 14 | const ROM_0_END: u16 = ROM_0_BASE + ROM_BANK_LEN - 1; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ROM_X_BASE` is never used [INFO] [stdout] --> src/io_device/cartridge/mbc/mod.rs:17:7 [INFO] [stdout] | [INFO] [stdout] 17 | const ROM_X_BASE: u16 = 0x4000; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ROM_X_END` is never used [INFO] [stdout] --> src/io_device/cartridge/mbc/mod.rs:19:7 [INFO] [stdout] | [INFO] [stdout] 19 | const ROM_X_END: u16 = ROM_X_BASE + ROM_BANK_LEN - 1; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `RAM_BANK_LEN` is never used [INFO] [stdout] --> src/io_device/cartridge/mbc/mod.rs:22:7 [INFO] [stdout] | [INFO] [stdout] 22 | const RAM_BANK_LEN: u16 = 0x2000; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `RAM_X_BASE` is never used [INFO] [stdout] --> src/io_device/cartridge/mbc/mod.rs:24:7 [INFO] [stdout] | [INFO] [stdout] 24 | const RAM_X_BASE: u16 = 0xA000; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `RAM_X_END` is never used [INFO] [stdout] --> src/io_device/cartridge/mbc/mod.rs:26:7 [INFO] [stdout] | [INFO] [stdout] 26 | const RAM_X_END: u16 = RAM_X_BASE + RAM_BANK_LEN - 1; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `MBC` is never used [INFO] [stdout] --> src/io_device/cartridge/mbc/mod.rs:28:11 [INFO] [stdout] | [INFO] [stdout] 28 | pub trait MBC: Memory {} [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CART_TYPE_MBC1` is never used [INFO] [stdout] --> src/io_device/cartridge/mbc/mbc1.rs:6:11 [INFO] [stdout] | [INFO] [stdout] 6 | pub const CART_TYPE_MBC1: u8 = 0x01; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CART_TYPE_MBC1_RAM` is never used [INFO] [stdout] --> src/io_device/cartridge/mbc/mbc1.rs:7:11 [INFO] [stdout] | [INFO] [stdout] 7 | pub const CART_TYPE_MBC1_RAM: u8 = 0x02; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CART_TYPE_MBC1_RAM_BATTERY` is never used [INFO] [stdout] --> src/io_device/cartridge/mbc/mbc1.rs:8:11 [INFO] [stdout] | [INFO] [stdout] 8 | pub const CART_TYPE_MBC1_RAM_BATTERY: u8 = 0x03; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `RAM_BANK_COUNT` is never used [INFO] [stdout] --> src/io_device/cartridge/mbc/mbc1.rs:11:7 [INFO] [stdout] | [INFO] [stdout] 11 | const RAM_BANK_COUNT: u8 = 0b0_11_00000 >> 5 - 0x00 + 1; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `BankMode` is never used [INFO] [stdout] --> src/io_device/cartridge/mbc/mbc1.rs:13:6 [INFO] [stdout] | [INFO] [stdout] 13 | enum BankMode { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MBC1` is never constructed [INFO] [stdout] --> src/io_device/cartridge/mbc/mbc1.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 18 | pub struct MBC1 { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `power_up`, `new`, `bank_mode`, `rom_bank_index`, and `ram_bank_index` are never used [INFO] [stdout] --> src/io_device/cartridge/mbc/mbc1.rs:31:12 [INFO] [stdout] | [INFO] [stdout] 30 | impl MBC1 { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] 31 | pub fn power_up(rom: Rom, ram_path: String) -> Result> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 35 | fn new(rom: Rom, ram_path: String) -> Result { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | fn bank_mode(&self) -> BankMode { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 54 | fn rom_bank_index(&self) -> u16 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 62 | fn ram_bank_index(&self) -> u16 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CART_TYPE_MBC2` is never used [INFO] [stdout] --> src/io_device/cartridge/mbc/mbc2.rs:6:11 [INFO] [stdout] | [INFO] [stdout] 6 | pub const CART_TYPE_MBC2: u8 = 0x05; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CART_TYPE_MBC2_BATTERY` is never used [INFO] [stdout] --> src/io_device/cartridge/mbc/mbc2.rs:7:11 [INFO] [stdout] | [INFO] [stdout] 7 | pub const CART_TYPE_MBC2_BATTERY: u8 = 0x06; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MBC2` is never constructed [INFO] [stdout] --> src/io_device/cartridge/mbc/mbc2.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct MBC2 { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `power_up`, `new`, and `rom_bank_index` are never used [INFO] [stdout] --> src/io_device/cartridge/mbc/mbc2.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 17 | impl MBC2 { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] 18 | pub fn power_up(rom: Rom, ram_path: String) -> Result> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 22 | fn new(rom: Rom, ram_path: String) -> Result { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | fn rom_bank_index(&self) -> u16 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `RAM_BANK_LEN` is never used [INFO] [stdout] --> src/io_device/cartridge/mbc/mbc2.rs:48:7 [INFO] [stdout] | [INFO] [stdout] 48 | const RAM_BANK_LEN: u16 = 0x200; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `RAM_X_BASE` is never used [INFO] [stdout] --> src/io_device/cartridge/mbc/mbc2.rs:50:7 [INFO] [stdout] | [INFO] [stdout] 50 | const RAM_X_BASE: u16 = 0xA000; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `RAM_X_END` is never used [INFO] [stdout] --> src/io_device/cartridge/mbc/mbc2.rs:52:7 [INFO] [stdout] | [INFO] [stdout] 52 | const RAM_X_END: u16 = RAM_X_BASE + RAM_BANK_LEN - 1; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CART_TYPE_MBC3_TIMER_BATTERY` is never used [INFO] [stdout] --> src/io_device/cartridge/mbc/mbc3.rs:8:11 [INFO] [stdout] | [INFO] [stdout] 8 | pub const CART_TYPE_MBC3_TIMER_BATTERY: u8 = 0x0F; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CART_TYPE_MBC3_TIMER_RAM_BATTERY_2` is never used [INFO] [stdout] --> src/io_device/cartridge/mbc/mbc3.rs:9:11 [INFO] [stdout] | [INFO] [stdout] 9 | pub const CART_TYPE_MBC3_TIMER_RAM_BATTERY_2: u8 = 0x10; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CART_TYPE_MBC3` is never used [INFO] [stdout] --> src/io_device/cartridge/mbc/mbc3.rs:10:11 [INFO] [stdout] | [INFO] [stdout] 10 | pub const CART_TYPE_MBC3: u8 = 0x11; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CART_TYPE_MBC3_RAM_2` is never used [INFO] [stdout] --> src/io_device/cartridge/mbc/mbc3.rs:11:11 [INFO] [stdout] | [INFO] [stdout] 11 | pub const CART_TYPE_MBC3_RAM_2: u8 = 0x12; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CART_TYPE_MBC3_RAM_BATTERY_2` is never used [INFO] [stdout] --> src/io_device/cartridge/mbc/mbc3.rs:12:11 [INFO] [stdout] | [INFO] [stdout] 12 | pub const CART_TYPE_MBC3_RAM_BATTERY_2: u8 = 0x13; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RTC` is never constructed [INFO] [stdout] --> src/io_device/cartridge/mbc/mbc3.rs:25:12 [INFO] [stdout] | [INFO] [stdout] 25 | pub struct RTC { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `latched` are never used [INFO] [stdout] --> src/io_device/cartridge/mbc/mbc3.rs:32:8 [INFO] [stdout] | [INFO] [stdout] 31 | impl RTC { [INFO] [stdout] | -------- associated items in this implementation [INFO] [stdout] 32 | fn new(path: String) -> Result { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 45 | fn latched(&mut self) -> Result<()> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `RAM_BANK_COUNT` is never used [INFO] [stdout] --> src/io_device/cartridge/mbc/mbc3.rs:78:7 [INFO] [stdout] | [INFO] [stdout] 78 | const RAM_BANK_COUNT: u8 = 0x03 - 0x00 + 1; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MBC3` is never constructed [INFO] [stdout] --> src/io_device/cartridge/mbc/mbc3.rs:80:12 [INFO] [stdout] | [INFO] [stdout] 80 | pub struct MBC3 { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `power_up`, `new`, `rom_bank_index`, and `ram_bank_index` are never used [INFO] [stdout] --> src/io_device/cartridge/mbc/mbc3.rs:92:12 [INFO] [stdout] | [INFO] [stdout] 91 | impl MBC3 { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] 92 | pub fn power_up(rom: Rom, ram_path: String, rtc_path: String) -> Result> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 96 | fn new(rom: Rom, ram_path: String, rtc_path: String) -> Result { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 107 | fn rom_bank_index(&self) -> u16 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 112 | fn ram_bank_index(&self) -> u16 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CART_TYPE_MBC5` is never used [INFO] [stdout] --> src/io_device/cartridge/mbc/mbc5.rs:6:11 [INFO] [stdout] | [INFO] [stdout] 6 | pub const CART_TYPE_MBC5: u8 = 0x19; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CART_TYPE_MBC5_RAM` is never used [INFO] [stdout] --> src/io_device/cartridge/mbc/mbc5.rs:7:11 [INFO] [stdout] | [INFO] [stdout] 7 | pub const CART_TYPE_MBC5_RAM: u8 = 0x1A; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CART_TYPE_MBC5_RAM_BATTERY` is never used [INFO] [stdout] --> src/io_device/cartridge/mbc/mbc5.rs:8:11 [INFO] [stdout] | [INFO] [stdout] 8 | pub const CART_TYPE_MBC5_RAM_BATTERY: u8 = 0x1B; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CART_TYPE_MBC5_RUMBLE` is never used [INFO] [stdout] --> src/io_device/cartridge/mbc/mbc5.rs:9:11 [INFO] [stdout] | [INFO] [stdout] 9 | pub const CART_TYPE_MBC5_RUMBLE: u8 = 0x1C; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CART_TYPE_MBC5_RUMBLE_RAM` is never used [INFO] [stdout] --> src/io_device/cartridge/mbc/mbc5.rs:10:11 [INFO] [stdout] | [INFO] [stdout] 10 | pub const CART_TYPE_MBC5_RUMBLE_RAM: u8 = 0x1D; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CART_TYPE_MBC5_RUMBLE_RAM_BATTERY` is never used [INFO] [stdout] --> src/io_device/cartridge/mbc/mbc5.rs:11:11 [INFO] [stdout] | [INFO] [stdout] 11 | pub const CART_TYPE_MBC5_RUMBLE_RAM_BATTERY: u8 = 0x1E; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `RAM_BANK_COUNT` is never used [INFO] [stdout] --> src/io_device/cartridge/mbc/mbc5.rs:14:7 [INFO] [stdout] | [INFO] [stdout] 14 | const RAM_BANK_COUNT: u8 = 0x0F - 0x00 + 1; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MBC5` is never constructed [INFO] [stdout] --> src/io_device/cartridge/mbc/mbc5.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 16 | pub struct MBC5 { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `power_up`, `new`, `rom_bank_index`, and `ram_bank_index` are never used [INFO] [stdout] --> src/io_device/cartridge/mbc/mbc5.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 26 | impl MBC5 { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] 27 | pub fn power_up(rom: Rom, ram_path: String) -> Result> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | pub fn new(rom: Rom, ram_path: String) -> Result { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 41 | fn rom_bank_index(&self) -> u16 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 45 | fn ram_bank_index(&self) -> u16 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/mother_board.rs:37:16 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn cpu(&self) -> Ref> { [INFO] [stdout] | ^^^^^ ----------------- the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 37 | pub fn cpu(&self) -> Ref<'_, Box> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tests/cpu_instrs.rs:15:9 [INFO] [stdout] | [INFO] [stdout] 15 | let mut mb = MotherBoard::new(rom_path, ram_path, rtc_path).unwrap(); [INFO] [stdout] | ----^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `memory` and `info` are never used [INFO] [stdout] --> src/cpu/mod.rs:12:8 [INFO] [stdout] | [INFO] [stdout] 11 | pub trait CPU { [INFO] [stdout] | --- methods in this trait [INFO] [stdout] 12 | fn memory(&self) -> RefMemory; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 16 | fn info(&self) -> &CPUInfo; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `start_at` and `freq` are never read [INFO] [stdout] --> src/cpu/mod.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 19 | pub struct CPUInfo { [INFO] [stdout] | ------- fields in this struct [INFO] [stdout] 20 | start_at: SystemTime, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 21 | freq: u64, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_hi` is never used [INFO] [stdout] --> src/cpu/mod.rs:35:8 [INFO] [stdout] | [INFO] [stdout] 35 | pub fn get_hi(src: &u16) -> u8 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `set_hi` is never used [INFO] [stdout] --> src/cpu/mod.rs:40:8 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn set_hi(src: &mut u16, val: u8) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_lo` is never used [INFO] [stdout] --> src/cpu/mod.rs:45:8 [INFO] [stdout] | [INFO] [stdout] 45 | pub fn get_lo(src: &u16) -> u8 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `set_lo` is never used [INFO] [stdout] --> src/cpu/mod.rs:50:8 [INFO] [stdout] | [INFO] [stdout] 50 | pub fn set_lo(src: &mut u16, val: u8) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_bit` is never used [INFO] [stdout] --> src/cpu/mod.rs:54:8 [INFO] [stdout] | [INFO] [stdout] 54 | pub fn get_bit(src: &u16, i: u8) -> u8 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `set_bit` is never used [INFO] [stdout] --> src/cpu/mod.rs:59:8 [INFO] [stdout] | [INFO] [stdout] 59 | pub fn set_bit(src: &mut u16, i: u8, val: u8) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `info` is never read [INFO] [stdout] --> src/cpu/lr35902/mod.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct LR35902 { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] 22 | info: CPUInfo, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ClockStep` is never constructed [INFO] [stdout] --> src/cpu/lr35902/clock.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 18 | pub struct ClockStep {} [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `now` is never used [INFO] [stdout] --> src/cpu/lr35902/clock.rs:42:12 [INFO] [stdout] | [INFO] [stdout] 20 | impl Clock { [INFO] [stdout] | ---------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 42 | pub fn now(&self) -> SystemTime { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GPU` is never constructed [INFO] [stdout] --> src/gpu.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct GPU { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/gpu.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 13 | impl GPU { [INFO] [stdout] | -------- associated function in this implementation [INFO] [stdout] 14 | pub fn new() -> GPU { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `OFFSET` is never used [INFO] [stdout] --> src/gpu.rs:19:7 [INFO] [stdout] | [INFO] [stdout] 19 | const OFFSET: u16 = 0x8000; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `mmu` is never read [INFO] [stdout] --> src/mother_board.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct MotherBoard { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] 12 | cpu: RefCPU, [INFO] [stdout] 13 | mmu: RefMemory, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `cpu` is never used [INFO] [stdout] --> src/mother_board.rs:37:12 [INFO] [stdout] | [INFO] [stdout] 16 | impl MotherBoard { [INFO] [stdout] | ---------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 37 | pub fn cpu(&self) -> Ref> { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BlockRam` is never constructed [INFO] [stdout] --> src/mmu.rs:236:12 [INFO] [stdout] | [INFO] [stdout] 236 | pub struct BlockRam { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/mmu.rs:241:12 [INFO] [stdout] | [INFO] [stdout] 240 | impl BlockRam { [INFO] [stdout] | -------------------------------------- associated function in this implementation [INFO] [stdout] 241 | pub fn new() -> BlockRam { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TestMemory` is never constructed [INFO] [stdout] --> src/mmu.rs:283:16 [INFO] [stdout] | [INFO] [stdout] 283 | pub struct TestMemory { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/mmu.rs:288:16 [INFO] [stdout] | [INFO] [stdout] 287 | impl TestMemory { [INFO] [stdout] | --------------- associated function in this implementation [INFO] [stdout] 288 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `set_handler_fn` is never used [INFO] [stdout] --> src/io_device/interrupt.rs:69:12 [INFO] [stdout] | [INFO] [stdout] 60 | impl Interrupt { [INFO] [stdout] | -------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 69 | pub fn set_handler_fn(&mut self, flag: Flag, handler: IntHandlerFunc) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HEADER_BASE` is never used [INFO] [stdout] --> src/io_device/cartridge/mod.rs:17:7 [INFO] [stdout] | [INFO] [stdout] 17 | const HEADER_BASE: u16 = 0x0100; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HEADER_END` is never used [INFO] [stdout] --> src/io_device/cartridge/mod.rs:19:7 [INFO] [stdout] | [INFO] [stdout] 19 | const HEADER_END: u16 = 0x014F; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HEADER_LEN` is never used [INFO] [stdout] --> src/io_device/cartridge/mod.rs:22:7 [INFO] [stdout] | [INFO] [stdout] 22 | const HEADER_LEN: u16 = HEADER_END - HEADER_BASE + 1; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HEADER_ENTRY_BASE` is never used [INFO] [stdout] --> src/io_device/cartridge/mod.rs:25:7 [INFO] [stdout] | [INFO] [stdout] 25 | const HEADER_ENTRY_BASE: u16 = 0x0100; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HEADER_ENTRY_END` is never used [INFO] [stdout] --> src/io_device/cartridge/mod.rs:27:7 [INFO] [stdout] | [INFO] [stdout] 27 | const HEADER_ENTRY_END: u16 = 0x0103; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `from` is never used [INFO] [stdout] --> src/io_device/cartridge/mod.rs:170:12 [INFO] [stdout] | [INFO] [stdout] 152 | impl Ram { [INFO] [stdout] | -------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 170 | pub fn from(mem: Vec, path: String) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `ram`, `header`, and `manufacturer_code_text` are never used [INFO] [stdout] --> src/io_device/cartridge/mod.rs:233:8 [INFO] [stdout] | [INFO] [stdout] 231 | pub trait Cartridge: Memory { [INFO] [stdout] | --------- methods in this trait [INFO] [stdout] 232 | fn rom(&self) -> &Rom; [INFO] [stdout] 233 | fn ram(&self) -> Option<&Ram>; [INFO] [stdout] | ^^^ [INFO] [stdout] 234 | #[inline] [INFO] [stdout] 235 | fn header(&self) -> Vec { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 247 | fn manufacturer_code_text(&self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `MBC` is never used [INFO] [stdout] --> src/io_device/cartridge/mbc/mod.rs:28:11 [INFO] [stdout] | [INFO] [stdout] 28 | pub trait MBC: Memory {} [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/mother_board.rs:37:16 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn cpu(&self) -> Ref> { [INFO] [stdout] | ^^^^^ ----------------- the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 37 | pub fn cpu(&self) -> Ref<'_, Box> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 33.94s [INFO] running `Command { std: "docker" "inspect" "259a0765f74d481f2d1ffd209eab7656de916d7b3c29d5c5aaffd29ae6faa844", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "259a0765f74d481f2d1ffd209eab7656de916d7b3c29d5c5aaffd29ae6faa844", kill_on_drop: false }` [INFO] [stdout] 259a0765f74d481f2d1ffd209eab7656de916d7b3c29d5c5aaffd29ae6faa844