From 55723b7b77834e0448b99ba3b65b059d2328428b Mon Sep 17 00:00:00 2001 From: "Luke D. Jones" Date: Sun, 25 Jun 2023 11:39:56 +1200 Subject: [PATCH] animatrix mapping: gu604 --- simulators/src/animatrix/map_ga401.rs | 94 +++++++++++++++++++-------- simulators/src/animatrix/map_ga402.rs | 83 +++++++++++------------ simulators/src/animatrix/map_gu604.rs | 85 ++++++++++++++++-------- simulators/src/simulator.rs | 2 +- 4 files changed, 166 insertions(+), 98 deletions(-) diff --git a/simulators/src/animatrix/map_ga401.rs b/simulators/src/animatrix/map_ga401.rs index 574157ff..dcbe47ba 100644 --- a/simulators/src/animatrix/map_ga401.rs +++ b/simulators/src/animatrix/map_ga401.rs @@ -1,31 +1,69 @@ use super::Row; -pub const GA401: [Row; 27] = [ - Row(0x01, 7, 34, 0), - Row(0x01, 7 + 34, 34, 0), - Row(0x01, 7 + 34 * 2, 34, 0), - Row(0x01, 7 + 34 * 3, 34, 0), - Row(0x01, 7 + 34 * 4, 34, 0), - Row(0x01, 7 + 34 * 5, 34, 0), - Row(0x01, 7 + 34 * 6, 34, 0), - Row(0x01, 7 + 34 * 7, 34, 0), - Row(0x01, 7 + 34 * 8, 34, 0), - Row(0x01, 7 + 34 * 9, 34, 0), - Row(0x01, 7 + 34 * 10, 34, 0), - Row(0x01, 7 + 34 * 11, 34, 0), - Row(0x01, 7 + 34 * 12, 34, 0), - Row(0x01, 7 + 34 * 13, 34, 0), - Row(0x01, 7 + 34 * 14, 34, 0), - Row(0x01, 7 + 34 * 15, 34, 0), - Row(0x01, 7 + 34 * 16, 34, 0), - Row(0x74, 7, 34, 0), - Row(0x74, 7 + 34, 34, 0), - Row(0x74, 7 + 34 * 2, 34, 0), - Row(0x74, 7 + 34 * 3, 34, 0), - Row(0x74, 7 + 34 * 4, 34, 0), - Row(0x74, 7 + 34 * 5, 34, 0), - Row(0x74, 7 + 34 * 6, 34, 0), - Row(0x74, 7 + 34 * 7, 34, 0), - Row(0x74, 7 + 34 * 8, 34, 0), - Row(0x74, 7 + 34 * 9, 34, 0), +pub const GA401: [Row; 63] = [ + Row(0x01, 7, 32, 0), + Row(0x01, 7 + 34, 32, 0), + Row(0x01, 7 + 68, 32, 0), + Row(0x01, 7 + 102, 32, 0), // 34 len + Row(0x01, 7 + 136, 32, 0), + Row(0x01, 7 + 170, 34, 0), + Row(0x01, 7 + 204, 34, 0), + Row(0x01, 7 + 238, 34, 0), + Row(0x01, 7 + 272, 34, 0), + Row(0x01, 7 + 306, 34, 0), + Row(0x01, 7 + 340, 34, 0), + Row(0x01, 7 + 374, 34, 0), + Row(0x01, 7 + 408, 33, 1), + Row(0x01, 7 + 441, 33, 1), + Row(0x01, 7 + 474, 32, 2), + Row(0x01, 7 + 506, 32, 2), + Row(0x01, 7 + 538, 31, 3), + Row(0x01, 7 + 569, 31, 3), + Row(0x01, 7 + 600, 28, 4), + // + Row(0x74, 7 + 1, 3, 28 + 4), // adds to end of previous + Row(0x74, 7 + 3, 30, 4), + Row(0x74, 7 + 33, 29, 5), + Row(0x74, 7 + 62, 29, 5), + Row(0x74, 7 + 91, 28, 6), + Row(0x74, 7 + 119, 28, 6), + Row(0x74, 7 + 147, 27, 7), + Row(0x74, 7 + 174, 27, 7), + Row(0x74, 7 + 202, 26, 9), + Row(0x74, 7 + 228, 26, 9), + Row(0x74, 7 + 254, 25, 10), + Row(0x74, 7 + 278, 25, 9), // WEIRD OFFSET + Row(0x74, 7 + 303, 24, 10), + Row(0x74, 7 + 327, 24, 10), + Row(0x74, 7 + 351, 23, 11), + Row(0x74, 7 + 374, 23, 11), + Row(0x74, 7 + 397, 22, 12), + Row(0x74, 7 + 419, 22, 12), + Row(0x74, 7 + 441, 21, 13), + Row(0x74, 7 + 462, 21, 13), + Row(0x74, 7 + 483, 20, 14), + Row(0x74, 7 + 503, 20, 14), + Row(0x74, 7 + 523, 19, 15), + Row(0x74, 7 + 542, 19, 15), + Row(0x74, 7 + 561, 18, 16), + Row(0x74, 7 + 579, 18, 16), + Row(0x74, 7 + 597, 17, 17), + Row(0x74, 7 + 614, 13, 17), + // + Row(0xe7, 7 + 1, 4, 13 + 18), // adds to end of previous + Row(0xe7, 7 + 4, 16, 18), + Row(0xe7, 7 + 20, 16, 18), + Row(0xe7, 7 + 36, 15, 19), + Row(0xe7, 7 + 51, 15, 19), + Row(0xe7, 7 + 66, 14, 20), + Row(0xe7, 7 + 80, 12, 20), // too long? 14 + Row(0xe7, 7 + 94, 13, 21), + Row(0xe7, 7 + 107, 13, 21), + Row(0xe7, 7 + 120, 12, 12), // Actual display end + Row(0xe7, 7 + 132, 12, 22), + Row(0xe7, 7 + 144, 11, 23), + Row(0xe7, 7 + 155, 11, 23), + Row(0xe7, 7 + 166, 10, 24), + Row(0xe7, 7 + 176, 10, 24), + Row(0xe7, 7 + 186, 9, 25), ]; diff --git a/simulators/src/animatrix/map_ga402.rs b/simulators/src/animatrix/map_ga402.rs index 44aa5a28..f7acc321 100644 --- a/simulators/src/animatrix/map_ga402.rs +++ b/simulators/src/animatrix/map_ga402.rs @@ -1,69 +1,70 @@ use super::Row; +// 7 is included as start point pub const GA402: [Row; 63] = [ Row(0x01, 7, 32, 0), Row(0x01, 7 + 34, 32, 0), Row(0x01, 7 + 68, 32, 0), - Row(0x01, 7 + 102, 32, 0), + Row(0x01, 7 + 102, 32, 0), // 34 len Row(0x01, 7 + 136, 32, 0), Row(0x01, 7 + 170, 34, 0), - Row(0x01, 7 + 204, 34, 0), // off by 1? + Row(0x01, 7 + 204, 34, 0), Row(0x01, 7 + 238, 34, 0), Row(0x01, 7 + 272, 34, 0), Row(0x01, 7 + 306, 34, 0), Row(0x01, 7 + 340, 34, 0), - Row(0x01, 7 + 374, 34, 0), // 12 + Row(0x01, 7 + 374, 34, 0), Row(0x01, 7 + 408, 33, 1), Row(0x01, 7 + 441, 33, 1), Row(0x01, 7 + 474, 32, 2), Row(0x01, 7 + 506, 32, 2), - Row(0x01, 7 + 538, 31, 3), // + Row(0x01, 7 + 538, 31, 3), Row(0x01, 7 + 569, 31, 3), - Row(0x01, 7 + 600, 28, 4), // + Row(0x01, 7 + 600, 28, 4), // - Row(0x74, 7 + 1, 3, 28 + 4), // adds to end of previous + Row(0x74, 7, 3, 28 + 3), // adds to end of previous Row(0x74, 7 + 3, 30, 4), Row(0x74, 7 + 33, 29, 5), Row(0x74, 7 + 62, 29, 5), Row(0x74, 7 + 91, 28, 6), Row(0x74, 7 + 119, 28, 6), - Row(0x74, 7 + 147, 27, 7), // WEIRD OFFSET - Row(0x74, 7 + 175, 27, 8), + Row(0x74, 7 + 147, 27, 7), + Row(0x74, 7 + 174, 27, 7), Row(0x74, 7 + 202, 26, 9), Row(0x74, 7 + 228, 26, 9), Row(0x74, 7 + 254, 25, 10), - Row(0x74, 7 + 279, 25, 10), - Row(0x74, 7 + 304, 24, 11), - Row(0x74, 7 + 328, 24, 11), - Row(0x74, 7 + 352, 23, 12), - Row(0x74, 7 + 375, 23, 12), - Row(0x74, 7 + 398, 22, 13), - Row(0x74, 7 + 420, 22, 13), - Row(0x74, 7 + 442, 21, 14), - Row(0x74, 7 + 463, 21, 14), - Row(0x74, 7 + 484, 20, 15), - Row(0x74, 7 + 504, 20, 15), - Row(0x74, 7 + 524, 19, 16), - Row(0x74, 7 + 543, 19, 16), - Row(0x74, 7 + 562, 18, 17), - Row(0x74, 7 + 580, 18, 17), - Row(0x74, 7 + 598, 17, 18), - Row(0x74, 7 + 615, 13, 18), + Row(0x74, 7 + 278, 25, 9), // WEIRD OFFSET + Row(0x74, 7 + 303, 24, 10), + Row(0x74, 7 + 327, 24, 10), + Row(0x74, 7 + 351, 23, 11), + Row(0x74, 7 + 374, 23, 11), + Row(0x74, 7 + 397, 22, 12), + Row(0x74, 7 + 419, 22, 12), + Row(0x74, 7 + 441, 21, 13), + Row(0x74, 7 + 462, 21, 13), + Row(0x74, 7 + 483, 20, 14), + Row(0x74, 7 + 503, 20, 14), + Row(0x74, 7 + 523, 19, 15), + Row(0x74, 7 + 542, 19, 15), + Row(0x74, 7 + 561, 18, 16), + Row(0x74, 7 + 579, 18, 16), + Row(0x74, 7 + 597, 17, 17), + Row(0x74, 7 + 614, 13, 17), // - Row(0xe7, 7 + 1, 4, 13 + 18), // adds to end of previous - Row(0xe7, 7 + 5, 16, 19), - Row(0xe7, 7 + 21, 16, 19), - Row(0xe7, 7 + 37, 15, 20), - Row(0xe7, 7 + 52, 14, 20), - Row(0xe7, 7 + 67, 13, 21), - Row(0xe7, 7 + 81, 11, 21), // - Row(0xe7, 7 + 95, 13, 22), - Row(0xe7, 7 + 108, 12, 22), - Row(0xe7, 7 + 121, 12, 23), - Row(0xe7, 7 + 133, 11, 23), // off the end of diag test - Row(0xe7, 7 + 145, 11, 24), - Row(0xe7, 7 + 156, 10, 24), - Row(0xe7, 7 + 167, 10, 25), - Row(0xe7, 7 + 177, 9, 25), - Row(0xe7, 7 + 187, 8, 26), + Row(0xe7, 7, 4, 13 + 17), // adds to end of previous + Row(0xe7, 7 + 4, 16, 18), + Row(0xe7, 7 + 20, 16, 18), + Row(0xe7, 7 + 36, 15, 19), + Row(0xe7, 7 + 51, 15, 19), + Row(0xe7, 7 + 66, 14, 20), + Row(0xe7, 7 + 80, 12, 20), // too long? 14 + Row(0xe7, 7 + 94, 13, 21), + Row(0xe7, 7 + 107, 13, 21), + Row(0xe7, 7 + 120, 12, 12), // Actual display end + Row(0xe7, 7 + 132, 12, 22), + Row(0xe7, 7 + 144, 11, 23), + Row(0xe7, 7 + 155, 11, 23), + Row(0xe7, 7 + 166, 10, 24), + Row(0xe7, 7 + 176, 10, 24), + Row(0xe7, 7 + 186, 9, 25), ]; diff --git a/simulators/src/animatrix/map_gu604.rs b/simulators/src/animatrix/map_gu604.rs index 9348b430..25dc1b0c 100644 --- a/simulators/src/animatrix/map_gu604.rs +++ b/simulators/src/animatrix/map_gu604.rs @@ -1,31 +1,60 @@ use super::Row; -pub const GU604: [Row; 27] = [ - Row(0x01, 7, 34, 0), - Row(0x01, 7 + 34, 34, 0), - Row(0x01, 7 + 34 * 2, 34, 0), - Row(0x01, 7 + 34 * 3, 34, 0), - Row(0x01, 7 + 34 * 4, 34, 0), - Row(0x01, 7 + 34 * 5, 34, 0), - Row(0x01, 7 + 34 * 6, 34, 0), - Row(0x01, 7 + 34 * 7, 34, 0), - Row(0x01, 7 + 34 * 8, 34, 0), - Row(0x01, 7 + 34 * 9, 34, 0), - Row(0x01, 7 + 34 * 10, 34, 0), - Row(0x01, 7 + 34 * 11, 34, 0), - Row(0x01, 7 + 34 * 12, 34, 0), - Row(0x01, 7 + 34 * 13, 34, 0), - Row(0x01, 7 + 34 * 14, 34, 0), - Row(0x01, 7 + 34 * 15, 34, 0), - Row(0x01, 7 + 34 * 16, 34, 0), - Row(0x74, 7, 34, 0), - Row(0x74, 7 + 34, 34, 0), - Row(0x74, 7 + 34 * 2, 34, 0), - Row(0x74, 7 + 34 * 3, 34, 0), - Row(0x74, 7 + 34 * 4, 34, 0), - Row(0x74, 7 + 34 * 5, 34, 0), - Row(0x74, 7 + 34 * 6, 34, 0), - Row(0x74, 7 + 34 * 7, 34, 0), - Row(0x74, 7 + 34 * 8, 34, 0), - Row(0x74, 7 + 34 * 9, 34, 0), +pub const GU604: [Row; 54] = [ + Row(0x01, 7, 37, 0), + Row(0x01, 7 + 38, 39, 0), + Row(0x01, 7 + 77, 38, 0), + Row(0x01, 7 + 115, 39, 0), // 34 len + Row(0x01, 7 + 154, 38, 0), + Row(0x01, 7 + 192, 39, 0), + Row(0x01, 7 + 231, 38, 0), + Row(0x01, 7 + 269, 39, 0), + Row(0x01, 7 + 308, 38, 0), + Row(0x01, 7 + 346, 39, 0), + Row(0x01, 7 + 385, 38, 0), + Row(0x01, 7 + 423, 38, 0), + Row(0x01, 7 + 461, 37, 1), + Row(0x01, 7 + 535, 36, 1), + Row(0x01, 7 + 571, 36, 2), + Row(0x01, 7 + 607, 21, 2), // needs join + // + Row(0x74, 7, 14, 28), // adds to end of previous + Row(0x74, 7 + 15, 35, 4), + Row(0x74, 7 + 50, 34, 5), + Row(0x74, 7 + 84, 34, 5), + Row(0x74, 7 + 118, 33, 6), + Row(0x74, 7 + 151, 33, 6), + Row(0x74, 7 + 184, 32, 7), + Row(0x74, 7 + 216, 32, 7), // + Row(0x74, 7 + 248, 31, 9), + Row(0x74, 7 + 279, 31, 9), + Row(0x74, 7 + 310, 30, 10), + Row(0x74, 7 + 340, 30, 9), // WEIRD OFFSET + Row(0x74, 7 + 370, 29, 10), + Row(0x74, 7 + 399, 29, 10), + Row(0x74, 7 + 428, 28, 11), + Row(0x74, 7 + 456, 28, 11), + Row(0x74, 7 + 484, 27, 12), + Row(0x74, 7 + 512, 27, 12), + Row(0x74, 7 + 538, 26, 13), + Row(0x74, 7 + 564, 26, 13), + Row(0x74, 7 + 590, 25, 14), + Row(0x74, 7 + 615, 12, 14), // needs join + // + Row(0xe7, 7, 13, 13 + 18), // adds to end of previous + Row(0xe7, 7 + 4, 16, 18), + Row(0xe7, 7 + 20, 16, 18), + Row(0xe7, 7 + 36, 15, 19), + Row(0xe7, 7 + 51, 15, 19), + Row(0xe7, 7 + 66, 14, 20), + Row(0xe7, 7 + 80, 12, 20), // too long? 14 + Row(0xe7, 7 + 94, 13, 21), + Row(0xe7, 7 + 107, 13, 21), + Row(0xe7, 7 + 120, 12, 12), // Actual display end + Row(0xe7, 7 + 132, 12, 22), + Row(0xe7, 7 + 144, 11, 23), + Row(0xe7, 7 + 155, 11, 23), + Row(0xe7, 7 + 166, 10, 24), + Row(0xe7, 7 + 176, 10, 24), + Row(0xe7, 7 + 186, 9, 25), ]; diff --git a/simulators/src/simulator.rs b/simulators/src/simulator.rs index d0d576c5..44527298 100644 --- a/simulators/src/simulator.rs +++ b/simulators/src/simulator.rs @@ -145,7 +145,7 @@ fn main() -> Result<(), Box> { let mut canvas = window.into_canvas().build().unwrap(); - let mut dev = VirtAnimeMatrix::new(Model::GA402); + let mut dev = VirtAnimeMatrix::new(Model::GU604); canvas.set_draw_color(Color::RGB(0, 0, 0)); canvas.clear();