diff --git a/platform/mimic/video/osd.sv b/platform/mimic/video/osd.sv index a31f111..d1c4a0e 100644 --- a/platform/mimic/video/osd.sv +++ b/platform/mimic/video/osd.sv @@ -71,7 +71,7 @@ module osd reg [21:0] osd_w; reg [1:0] rot = 0; - reg [5:0] osd_rgb; + reg [5:0] osd_rgb = 6'h0; reg [11:0] osd_width = 12'd256; always@(posedge clk_sys) begin @@ -349,9 +349,9 @@ module osd nrdout1 <= din; ordout1 <= { - {osd_pixel, osd_rgb[5:4], din[23:19]}, // 23:16 - R - {osd_pixel, osd_rgb[3:2], din[15:11]}, // 15:8 - G - {osd_pixel, osd_rgb[1:0], din[7:3] } // 7:0 - B + {osd_pixel, osd_pixel, osd_rgb[5:4], din[23:20]}, // 23:16 - R + {osd_pixel, osd_pixel, osd_rgb[3:2], din[15:12]}, // 15:8 - G + {osd_pixel, osd_pixel, osd_rgb[1:0], din[7:4] } // 7:0 - B }; osd_mux <= ~osd_de[2]; diff --git a/support/src/svg_manage.rs b/support/src/svg_manage.rs index 4298124..eaad0fc 100644 --- a/support/src/svg_manage.rs +++ b/support/src/svg_manage.rs @@ -235,10 +235,13 @@ fn correlate_id_to_title(contents: &String) -> HashMap { }); } svg::parser::Event::Tag("path", Type::Start, attributes) => { - assert_eq!(active_path, None, "SVG contains invalid nested paths"); - let id: Option = attributes.get("id").map(|v| v.clone().into()); + assert_eq!( + active_path, None, + "SVG contains invalid nested paths at {id:?}", + ); + active_path = Some(ActivePath { id, title: None }); } svg::parser::Event::Tag("title", Type::Start, _) => { @@ -266,6 +269,7 @@ fn correlate_id_to_title(contents: &String) -> HashMap { } svg::parser::Event::Tag("path", tag_type, attributes) => { if tag_type == Type::Empty { + // There's no end tag, so path wasn't terminated normally. Create the path and end it let path = ActivePath { id: attributes.get("id").map(|v| v.clone().into()), title: None, diff --git a/target/mimic/core_top.sv b/target/mimic/core_top.sv index 3d63a77..34fd1a9 100644 --- a/target/mimic/core_top.sv +++ b/target/mimic/core_top.sv @@ -213,7 +213,7 @@ module core_top ( "Game and Watch;;", "FS0,gnw,Load ROM;", "-;", - "O[5:2],Inactive LCD Alpha,Off,5%,10%,20%,30%,40%,50%,60%,70%,80%,90%,100%", + "O[5:2],Inactive LCD Alpha,Off,5%,10%,20%,30%,40%,50%,60%,70%,80%,90%,100%;", "-;", "O[1],Accurate LCD Timing,Off,On;", "-;",