Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ sinowisp write \
| [Aula F87](https://www.aulastar.com/index.php/gaming-keyboard/157.html) | 3e0ebd0c440af5236d7ff8872343f85d | SH68F90A (?) | BYK916 (?) | ✅ | ✅ |
| [CIY X77](https://a.co/d/fKEpeLU) | 571ea8b315654c39046e4cc3b1e43777 | SH68F89 (?) | BYK816 | ✅ | ✅ |
| Deltaco Gaming WK95R | 2d169670eae0d36eae8188562c1f66e8 | SH68F90A | BYK916 | ✅ | ✅ |
| Dierya DK68SE | ❓ | ❓ | BYK903 | ✅ | ✅ |
| Dierya DK68SE | f7e71254659953fd1d139b815fd9880b | SH68F903A | BYK903 | ✅ | ✅ |
| Digital Alliance Meca Warrior X | 2d169670eae0d36eae8188562c1f66e8 | SH68F90 | SH68F90S | ✅ | ✅ |
| E-Yooso Z11 | 3e0ebd0c440af5236d7ff8872343f85d | SH68F90A | BYK901 | ✅ | ✅ |
| E-Yooso Z82 | 3e0ebd0c440af5236d7ff8872343f85d | SH68F90A | BYK916 | ✅ | ✅ |
Expand Down Expand Up @@ -141,6 +141,7 @@ sinowisp write \
| 3e0ebd0c440af5236d7ff8872343f85d | SH68F90 / SH68F90A | 4096 | ok | ok | ok | only bootloader with USB strings (`Gaming KB`) and an interrupt IN endpoint |
| cfc8661da8c9d7e351b36c0a763426aa | SH68F90 / SH68F90A | 4096 | ok | ok | ok | |
| 6dac0d2288f2a3d83b5703d979c114ec | SH68F902A | 3072 | ok | ? | ? | `2d169670` relinked to a 0x3000 base |
| f7e71254659953fd1d139b815fd9880b | SH68F903A | 4096 | ? | ? | ok | |

## Prerequisites

Expand Down
13 changes: 12 additions & 1 deletion src/device_spec.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ use phf::{phf_map, Map};

use crate::platform_spec::{
PlatformSpec, PLATFORM_SH68F881, PLATFORM_SH68F89, PLATFORM_SH68F90, PLATFORM_SH68F902,
PLATFORM_SH68F903,
};

const DEFAULT_ISP_IFACE_NUM: i32 = 1;
Expand Down Expand Up @@ -85,6 +86,16 @@ pub const DEVICE_BASE_SH68F902: DeviceSpec = DeviceSpec {
isp_transform: None,
};

pub const DEVICE_BASE_SH68F903: DeviceSpec = DeviceSpec {
vendor_id: 0x0000,
product_id: 0x0000,
platform: PLATFORM_SH68F903,
isp_iface_num: DEFAULT_ISP_IFACE_NUM,
isp_report_id: DEFAULT_ISP_REPORT_ID,
reboot: DEFAULT_REBOOT,
isp_transform: None,
};

pub const DEVICE_AOKO_K101: DeviceSpec = DeviceSpec {
vendor_id: 0x258a,
product_id: 0x0155,
Expand Down Expand Up @@ -124,7 +135,7 @@ pub const DEVICE_DELTACO_WK95R: DeviceSpec = DeviceSpec {
pub const DEVICE_DIERYA_DK68SE: DeviceSpec = DeviceSpec {
vendor_id: 0x258a,
product_id: 0x013b,
..DEVICE_BASE_SH68F90
..DEVICE_BASE_SH68F903
};

pub const DEVICE_DIGITALALLIANCE_MECA_WARRIOR_X: DeviceSpec = DeviceSpec {
Expand Down
6 changes: 6 additions & 0 deletions src/platform_spec.rs
Original file line number Diff line number Diff line change
Expand Up @@ -38,11 +38,17 @@ pub const PLATFORM_SH68F902: PlatformSpec = PlatformSpec {
..PLATFORM_DEFAULT
};

pub const PLATFORM_SH68F903: PlatformSpec = PlatformSpec {
firmware_size: 32768 - PLATFORM_DEFAULT.bootloader_size, // 28672 until bootloader
..PLATFORM_DEFAULT
};

pub static PLATFORMS: Map<&'static str, PlatformSpec> = phf_map! {
"sh68f89" => PLATFORM_SH68F89,
"sh68f881" => PLATFORM_SH68F881,
"sh68f90" => PLATFORM_SH68F90,
"sh68f902" => PLATFORM_SH68F902,
"sh68f903" => PLATFORM_SH68F903,
};

impl PlatformSpec {
Expand Down