Disassemble a few more things...
diff --git a/vsmile/disassemble.sh b/vsmile/disassemble.sh
old mode 100644
new mode 100755
diff --git a/vsmile/listfile b/vsmile/listfile
index 102a8f9..0cb011f 100644
--- a/vsmile/listfile
+++ b/vsmile/listfile
@@ -1,7 +1,11 @@
 fvsmile_v103.bin
 t00
 w0000
-w07a3 multipliers_table
+l0000 magic_start
+w0010
+w07a3 interrupt_nesting_counter_low
+w07a4 interrupt_nesting_counter_high
+w07a5
 l0844 INT_COUNTER_LOW
 l0845 INT_COUNTER_HIGH
 l0846 INT_FLAGS_BACKUP
@@ -15,8 +19,17 @@
 l0859 IRQ5
 l085B IRQ6
 l085D IRQ7
+l0939 UART_VAR1a
+l093a UART_VAR1b
+l0949 UART_VAR2a
+l094a UART_VAR3a
+l094b UART_VAR4a
+l094c UART_VAR2b
+l094d UART_VAR3b
+l094e UART_VAR4b
 l27d1 G_MAGIC_IS_INSTALLED
 l27d2 G_IS_COMPUTER_ON
+l27f0 magic_end
 l2813 PPU_LAYERA_CONTROL
 l2819 PPU_LAYERB_CONTROL
 l2842 PPU_SPRITES_ENABLE
@@ -42,6 +55,7 @@
 l3D0F R_IOC_MASK
 l3d20 R_SYSTEM_CTRL
 l3d21 R_INTERRUPT_CTRL
+l3d22 R_INTERRUPT_STATUS
 l3d23 R_EXT_MEM_CTRL
 l3d24 R_WDG_CLEAR
 l3d25 R_ADC_CTRL
@@ -49,6 +63,13 @@
 l3D2A R_WAKEUP_TIME
 l3d2e R_FIQ_SEL
 l3d2f DS
+l3D30 R_UART_CTRL
+l3D31 R_UART_STATUS
+l3D32 R_UART_RESET
+l3D33 R_UART_BAUD_L
+l3D34 R_UART_BAUD_H
+l3D35 R_UART_TX
+l3D36 R_UART_RX
 p7bd5 BREAK_INTERRUPT
 p7be3 FIQ_INTERRUPT
 p7bf1 IRQ0_INTERRUPT
@@ -69,10 +90,18 @@
 .
 pA819
 pA8CB
-pA9CD
-pAA04
+pA9CD ControllerA_Something
+ka9dc Controller A clear to send
+ka9eb Check controller A request to send
+ka9f0 Remove controller A CTS
+kAA04 Same as above, but using controller B RTS and CTS
+pAA04 ControllerB_Something
 pAA3D
-pAA94
+pAA94 Controller_UART_Setup
+kAA97 Enable UART, both external interrupts, and ADC
+kAA9F Configure UART: Tx and Rx active, 8N1
+kAAA5 4800 baud
+kAAAD clear status register
 pAB25 CONTROLLER_GPIO_CONFIG
 kAB26 Disable both external interrupts
 kAB2e UART Rx and Tx as inputs
@@ -201,10 +230,15 @@
 p167a8
 l167b9 magic_is_installed
 l167c1 27d0_is_clear
+k167c1 remove_magic
 l167d3 27d0_is_not_clear
 l167e6 magic_not_installed
 p167e9
-p1683b
+p1683b call_167a8_or_167e9
+l16848 is1
+l1684c isNot1
+l16852 is2
+l16854 return
 p16857 WAIT_0844_CHANGE
 k1685f [BP] = [0844]
 k16865 [BP+1] = [0844]
@@ -245,7 +279,7 @@
 k17bc4 R1 = EXTMEM & F000 | [RESET - 2] | 40
 k17bc7 R2 = [ae84] & 3 = 2
 k17bc9 R1 = EXTMEM & F000 | AEE2 | 40 | 1 = ?EE3
-p17bd5
+p17bd5 interrupt_exit
 p17be3
 p17bf1
 p17db3 IS_OFF_BUTTON_PRESSED
@@ -279,20 +313,22 @@
 k17fe0 Call reset vector
 k17ffb R1 = EXTMEM & F000
 l17fce
-p17fe8
+p17fe8 CONFIGURE_EXTMEM
 p17ff7 CONFIGURE_TIMER2_512HZ
 p18006 ENABLE_BLANKING_INTERRUPT
-p1800e
+p1800e find_slot_something
 p18020
 p18081 DELAY_23A0000
 p18090
-p19010
-p1901a STUB_RETURN_0
+p182ac
+w186c8
+p19010 STUB_RETURN_0_a
+p1901a STUB_RETURN_0_b
 p19024 IS_016D_GREATER_THAN_10
 p19039
 p190b3
-p182ac
 p19317
+w19356
 p19ab9 CLEANUP_AND_SHUTDOWN
 l19aba wait_dma_idle
 l19abe wait_sprite_dma_idle