diff --git a/ROM2/helpers.c b/ROM2/helpers.c
index 424f81c31b0011c27afcc0d935540b4be04e0419..f336ae103f20722be300430f9957b8662f8fd504 100644
--- a/ROM2/helpers.c
+++ b/ROM2/helpers.c
@@ -30,6 +30,12 @@ void delay(u16 ms) {
 		"	pulx\n");*/
 }
 
+u8 my_strlen(char* s) {
+	char *p = s;
+	while (*p) p++;
+	return p-s;
+}
+
 void my_strncpy(char* dst, char* src, u8 max_size) {
 	u8 i;
 	for (i = 0; src[i] && i < max_size; i++) dst[i] = src[i];
diff --git a/ROM2/main_basic.c b/ROM2/main_basic.c
index 03d56a877c9cbcc599f7809e6efa29a0d9368739..f6a5b9f9d1a107d69886af2a019f74af799311f2 100644
--- a/ROM2/main_basic.c
+++ b/ROM2/main_basic.c
@@ -14,6 +14,7 @@
 #include "sci.h"
 #include "vend.h"
 #include "xmodem.h"
+#include "sha1.h"
 
 u8 last_standalone;
 u8 last_switch_input;
@@ -372,6 +373,9 @@ void quit() {
 		unknown_command();
 }
 
+//SHA1_CTX ctx;
+//u8 sha1_digest[SHA1_SIGNATURE_SIZE];
+
 int main() {
 	u8 i;
 	for (i = 0; i < 11; i++)
@@ -451,6 +455,11 @@ int main() {
 		}
 
 		if (sci_have_packet) {
+			if (must_verify()) {
+				//SHA1_Init(&ctx);
+				//SHA1_Update(&ctx, sci_rx_buf, my_strlen(sci_rx_buf));
+				//SHA1_Final(sha1_digest, &ctx);
+			}
 			switch (sci_rx_buf[0]) {
 				case '\0':
 				case '#':
diff --git a/ROM2/vend.h b/ROM2/vend.h
index 7686620d675bcc313965e7779c30d20ebfb1856f..dfac7f4127921fec64506515f30ba270a5d9bf0d 100644
--- a/ROM2/vend.h
+++ b/ROM2/vend.h
@@ -27,6 +27,7 @@ extern volatile u8 _home_sensors;
 #define home_sensors _home_sensors
 
 #define is_standalone() (misc_input & 0x01) /* DIP sw 1 */
+#define must_verify()   (misc_input & 0x02) /* DIP sw 2 */
 
 extern u16 _stack;