From c8c8d47fa6ac6add6cddfa681b3b86b420497008 Mon Sep 17 00:00:00 2001 From: Tobias Diedrich Date: Sat, 22 Jan 2022 23:36:02 +0100 Subject: [PATCH] Add debug USB commands to read ram/flash/i2c --- main.s | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/main.s b/main.s index 848c63d..18fd60b 100644 --- a/main.s +++ b/main.s @@ -1531,6 +1531,12 @@ _setup_dispatch_table: JMP _usb_setup_default DW 0xa103 ; HID GET_PROTOCOL JMP _usb_setup_default + DW 0xc090 + JMP _usb_dth_vend_read_ram + DW 0xc092 + JMP _usb_dth_vend_read_i2c + DW 0xc094 + JMP _usb_dth_vend_read_code DW 0xFFFF JMP _usb_setup_default @@ -1926,6 +1932,46 @@ _usb_dth_get_status: B0MOV txSizeLo, A JMP _usb_write_ep0 +_usb_dth_vend_read_ram: + MOV A, #0 + B0MOV UDP0, A + + B0MOV A, wIndexLo + B0MOV Z, A + B0MOV A, wIndexHi + B0MOV Y, A + B0MOV A, wValueLo + B0MOV A, @YZ + + B0MOV UDR0_W, A + + MOV A, #0x21 ; Write 1 byte + B0MOV UE0R, A + RET + +_usb_dth_vend_read_code: + MOV A, #0 + B0MOV UDP0, A + + B0MOV A, wIndexLo + B0MOV Z, A + B0MOV A, wIndexHi + B0MOV Y, A + MOVC + B0MOV UDR0_W, A + INCMS UDP0 + B0MOV A, R + B0MOV UDR0_W, A + + MOV A, #0x22 ; Write 2 bytes + B0MOV UE0R, A + RET + +_usb_dth_vend_read_i2c: + MOV A, #0x21 ; Write 1 byte + B0MOV UE0R, A + RET + _usb_htd_set_configuration: ; Only one configuration, nothing to do. MOV A, #0x20 ; ACK with no TX