diff --git a/ROM2/Makefile b/ROM2/Makefile
index 5ebabe26bb914c5f66885b03d2c18c54e6399fd1..af99105389dd9bfbb4fa3635dad0ddbaac972ec6 100644
--- a/ROM2/Makefile
+++ b/ROM2/Makefile
@@ -8,7 +8,7 @@ INCLUDES = vend.h keypad.h chime.h asm.h display_basic.h ports.h types.h
 
 # debugging doesn't get compiled into the ROM image
 CFLAGS = -m68hc11 -mshort -Wall -O1 \
-	-msoft-reg-count=0 -ffixed-z -g -fomit-frame-pointer
+	-msoft-reg-count=1 -ffixed-z -g -fomit-frame-pointer
 
 LDFLAGS = -m68hc11 -mshort -Wl,-m,m68hc11elfb \
 	  -nostartfiles \
diff --git a/ROM2/main_basic.c b/ROM2/main_basic.c
index 1f2f7d10640d80fc84f9665edd4a03ed2a023815..94680c806a792839c42921df5bdc436bdf99e4b2 100644
--- a/ROM2/main_basic.c
+++ b/ROM2/main_basic.c
@@ -190,15 +190,15 @@ int main() {
 		if (door_open() != last_door_open) {
 			last_door_open = door_open();
 			send_door_msg(last_door_open);
+			chime_start();
 			if (last_door_open) {
-				chime_start();
 				set_msg("DOOR OPEND");
 			} else {
-				chime_start();
 				set_msg("DOOR CLOSE");
 			}
 		}
 
+		/*
 		if (rx_queue_state) {
 			switch (msg_buf[0]) {
 				case 'V':
@@ -220,12 +220,13 @@ int main() {
 					ping_pong();
 					break;
 				default:
-				/* shrug */
+					// shurg
 					send_nack();
 					break;
 			}
 			msg_clr();
 		}
+		*/
 
 		keypad_read();
 		if (keypad_pressed()) {
@@ -251,9 +252,11 @@ int main() {
 			send_keypress(last_key);
 		}
 
+		/*
 		if (coin_value != last_coin_value) {
 			send_balance();
 			last_coin_value = coin_value;
 		}
+		*/
 	}
 }
diff --git a/ROM2/motors.c b/ROM2/motors.c
index ba91ec9a075e2078894a89745e8863a3b1b631bc..765c1b7fc3aff06eb448450d6b41be7ebe5b82c9 100644
--- a/ROM2/motors.c
+++ b/ROM2/motors.c
@@ -136,9 +136,7 @@ u8 dispense_motor(u8 slot) {
 	//if (!is_motor(slot)) return MOTOR_NOSLOT;
 
 	motor_on(slot);
-	delay(1000);
-	motors_off();
-	return MOTOR_SUCCESS;
+	delay(100);
 	
 	if (!left_home(slot)) {
 		motors_off();