diff --git a/nanosoc/nanosoc_system/verilog/nanosoc_system.v b/nanosoc/nanosoc_system/verilog/nanosoc_system.v
index 53b8a66fe106633166e24eb09d1ac51f00eb299f..8f925dbe08c215ab2c6f03147a077bb224d02401 100644
--- a/nanosoc/nanosoc_system/verilog/nanosoc_system.v
+++ b/nanosoc/nanosoc_system/verilog/nanosoc_system.v
@@ -56,7 +56,7 @@ module nanosoc_system #(
     parameter INCLUDE_JTAG            = 0,   // Do not Include JTAG feature
       
     // DMA Parameters  
-    parameter    DMAC_0_CHANNEL_NUM   = 2,   // DMAC 0 Number of DMA Channels 
+    parameter    DMAC_0_CHANNEL_NUM   = 4,   // DMAC 0 Number of DMA Channels : Add EXTDATA TX, RX
     parameter    DMAC_1_CHANNEL_NUM   = 2,   // DMAC 1 Number of DMA Channels
       
     // SoCDebug Parameters  
@@ -907,7 +907,9 @@ wire       EXT_DAT_TXD_TREADY ;
     // Expansion DRQ Wiring
     //--------------------------
     assign EXP_DLAST [1:0] = 2'b00;
-    assign DMAC_0_DMA_REQ  = EXP_DRQ;
+    assign DMAC_0_DMA_REQ[1:0]  = EXP_DRQ;
+    assign DMAC_0_DMA_REQ[2]    = EXT_DAT_RXD_TREADY & SYS_P1_OUT[2];
+    assign DMAC_0_DMA_REQ[3]    = EXT_DAT_TXD_TVALID &  & SYS_P1_OUT[3];
     
     // Instantiate Subsystem
     //--------------------------
diff --git a/nanosoc/sldma230_tech b/nanosoc/sldma230_tech
index 0f0bf3dee094e9e6801210c1d5f190dea912395d..7105d696b8d67e4b70c9c54cb14c807a311a24b3 160000
--- a/nanosoc/sldma230_tech
+++ b/nanosoc/sldma230_tech
@@ -1 +1 @@
-Subproject commit 0f0bf3dee094e9e6801210c1d5f190dea912395d
+Subproject commit 7105d696b8d67e4b70c9c54cb14c807a311a24b3
diff --git a/software/drivers/dma_pl230_driver.h b/software/drivers/dma_pl230_driver.h
index 082b196ab13b993867815b4ff5f91ff5cf1588a0..7116f998852e71c1521f72e2aee35be8167eac21 100644
--- a/software/drivers/dma_pl230_driver.h
+++ b/software/drivers/dma_pl230_driver.h
@@ -8,7 +8,7 @@ extern "C" {
 
 #define DMA_PL230_BASE        (CMSDK_APB_BASE + 0xF000UL)
 
-#define MAX_NUM_OF_DMA_CHANNELS   2
+#define MAX_NUM_OF_DMA_CHANNELS   4
 
 /*------------- PL230 uDMA (PL230) --------------------------------------*/
 /** @addtogroup DMA_PL230 CMSDK uDMA controller
diff --git a/testcodes/apb_mux_tests/apb_mux_tests.hex b/testcodes/apb_mux_tests/apb_mux_tests.hex
index a2ff3251fbb38106e7fbcbdf838486c5dd584aaa..c146a744a0c138dc35ea0111a347abf95f6b18c4 100644
--- a/testcodes/apb_mux_tests/apb_mux_tests.hex
+++ b/testcodes/apb_mux_tests/apb_mux_tests.hex
@@ -250,11 +250,11 @@ AB
 43
 18
 47
-E8
+EC
 0C
 00
 00
-08
+0C
 0D
 00
 00
@@ -322,7 +322,7 @@ B5
 D1
 00
 F0
-1D
+1F
 FD
 10
 BD
@@ -340,7 +340,7 @@ B5
 BD
 00
 F0
-DE
+E0
 FD
 11
 46
@@ -354,7 +354,7 @@ F0
 F9
 00
 F0
-F6
+F8
 FD
 03
 B4
@@ -466,7 +466,7 @@ C4
 A0
 00
 F0
-01
+03
 FD
 03
 20
@@ -526,7 +526,7 @@ C0
 A0
 00
 F0
-73
+75
 FC
 05
 98
@@ -554,7 +554,7 @@ C5
 A0
 00
 F0
-D5
+D7
 FC
 01
 20
@@ -574,7 +574,7 @@ CB
 A0
 00
 F0
-CB
+CD
 FC
 02
 20
@@ -586,7 +586,7 @@ D4
 A0
 00
 F0
-C5
+C7
 FC
 00
 20
@@ -866,7 +866,7 @@ DD
 A0
 00
 F0
-39
+3B
 FC
 01
 20
@@ -880,7 +880,7 @@ A4
 A0
 00
 F0
-32
+34
 FC
 01
 20
@@ -890,7 +890,7 @@ AA
 A0
 00
 F0
-2D
+2F
 FC
 00
 20
@@ -908,19 +908,19 @@ AE
 A0
 00
 F0
-24
+26
 FC
 B7
 A0
 00
 F0
-21
+23
 FC
 C4
 A0
 00
 F0
-1E
+20
 FC
 50
 49
@@ -936,7 +936,7 @@ CE
 A0
 00
 F0
-16
+18
 FC
 01
 21
@@ -958,7 +958,7 @@ CC
 A0
 00
 F0
-0B
+0D
 FC
 CE
 49
@@ -980,7 +980,7 @@ CB
 A0
 00
 F0
-00
+02
 FC
 CD
 49
@@ -1002,7 +1002,7 @@ CB
 A0
 00
 F0
-F5
+F7
 FB
 D7
 49
@@ -1024,7 +1024,7 @@ D5
 A0
 00
 F0
-EA
+EC
 FB
 DA
 49
@@ -1046,7 +1046,7 @@ D8
 A0
 00
 F0
-DF
+E1
 FB
 DE
 49
@@ -1068,7 +1068,7 @@ DB
 A0
 00
 F0
-D4
+D6
 FB
 DC
 49
@@ -1090,7 +1090,7 @@ D9
 A0
 00
 F0
-C9
+CB
 FB
 E5
 49
@@ -1112,7 +1112,7 @@ E2
 A0
 00
 F0
-BE
+C0
 FB
 E3
 49
@@ -1134,7 +1134,7 @@ E1
 A0
 00
 F0
-B3
+B5
 FB
 ED
 49
@@ -1156,7 +1156,7 @@ EA
 A0
 00
 F0
-A8
+AA
 FB
 F5
 49
@@ -1178,7 +1178,7 @@ F2
 A0
 00
 F0
-9D
+9F
 FB
 F6
 48
@@ -1198,7 +1198,7 @@ F3
 A0
 00
 F0
-93
+95
 FB
 F6
 49
@@ -1226,11 +1226,11 @@ F1
 A0
 00
 F0
-15
+17
 FB
 00
 F0
-F2
+F3
 FA
 00
 20
@@ -1240,7 +1240,7 @@ F9
 A0
 00
 F0
-0E
+10
 FB
 F7
 E7
@@ -1770,7 +1770,7 @@ C5
 30
 00
 00
-7C
+80
 0D
 00
 00
@@ -1810,7 +1810,7 @@ C5
 20
 00
 40
-8C
+90
 0D
 00
 00
@@ -1870,7 +1870,7 @@ C5
 30
 00
 40
-AC
+B0
 0D
 00
 00
@@ -1906,7 +1906,7 @@ AC
 40
 00
 40
-6C
+70
 0D
 00
 00
@@ -2030,7 +2030,7 @@ AC
 80
 00
 40
-9C
+A0
 0D
 00
 00
@@ -2276,7 +2276,7 @@ D0
 A0
 00
 F0
-78
+7A
 F9
 A0
 68
@@ -2298,7 +2298,7 @@ D0
 A0
 00
 F0
-FD
+FF
 F8
 20
 68
@@ -2312,7 +2312,7 @@ D0
 A0
 00
 F0
-F6
+F8
 F8
 17
 48
@@ -2324,11 +2324,11 @@ BD
 A0
 00
 F0
-60
+62
 F9
 00
 F0
-CD
+CE
 F8
 FE
 E7
@@ -2552,7 +2552,7 @@ C0
 B2
 00
 F0
-36
+37
 F8
 10
 BD
@@ -2560,11 +2560,11 @@ BD
 B5
 00
 F0
-42
+43
 F8
 00
 F0
-30
+31
 F8
 10
 BD
@@ -2580,19 +2580,19 @@ C0
 B2
 00
 F0
-28
+29
 F8
 10
 BD
 FE
 E7
-2E
+2F
 48
 00
 21
 81
 60
-2E
+2F
 49
 01
 61
@@ -2600,12 +2600,14 @@ E7
 21
 81
 60
-2D
+2E
 48
-03
+F0
 21
 01
 61
+03
+21
 81
 60
 2C
@@ -2618,11 +2620,11 @@ E7
 47
 2C
 48
-2A
+2B
 49
 01
 60
-2B
+2C
 49
 81
 61
@@ -2646,13 +2648,13 @@ D0
 20
 88
 61
-21
+22
 48
 00
 21
 81
 60
-30
+F0
 21
 01
 61
@@ -2662,7 +2664,7 @@ D0
 60
 70
 47
-1D
+1E
 49
 8A
 68
@@ -2694,7 +2696,7 @@ D1
 60
 70
 47
-13
+14
 4B
 15
 48
@@ -2775,6 +2777,8 @@ D1
 F7
 E7
 00
+00
+00
 60
 00
 40
@@ -2900,7 +2904,7 @@ FF
 46
 FF
 F7
-F2
+F0
 FA
 00
 28
@@ -3038,7 +3042,7 @@ B5
 E0
 FF
 F7
-09
+07
 FF
 40
 1C
@@ -3058,7 +3062,7 @@ D1
 20
 FF
 F7
-FF
+FD
 FE
 10
 BD
@@ -3276,7 +3280,7 @@ F8
 46
 FF
 F7
-9D
+9B
 FE
 00
 28
@@ -3294,7 +3298,7 @@ BD
 BD
 00
 00
-2F
+2B
 FD
 FF
 FF
@@ -3372,7 +3376,7 @@ B0
 B5
 FF
 F7
-50
+4E
 FE
 60
 BC
@@ -3420,7 +3424,7 @@ C0
 46
 FF
 F7
-03
+01
 FA
 10
 BD
@@ -3554,7 +3558,7 @@ B1
 30
 78
 00
-04
+08
 0E
 00
 00
@@ -3570,7 +3574,7 @@ B1
 01
 00
 00
-1C
+20
 0E
 00
 00
diff --git a/testcodes/bootloader/bootloader.hex b/testcodes/bootloader/bootloader.hex
index 4a91c68ec2c4740520853b11bb5a8c26687794e4..a1f6fb669f43403cab26e0f6f6e08363bf8edc9e 100644
--- a/testcodes/bootloader/bootloader.hex
+++ b/testcodes/bootloader/bootloader.hex
@@ -2,15 +2,15 @@
 04
 00
 30
-C9
+CD
 02
 00
 10
-D1
+D5
 02
 00
 10
-D3
+D7
 02
 00
 10
@@ -42,7 +42,7 @@ D3
 00
 00
 00
-D5
+D9
 02
 00
 10
@@ -54,139 +54,139 @@ D5
 00
 00
 00
-D7
+DB
 02
 00
 10
-D9
+DD
 02
 00
 10
-DB
+DF
 02
 00
 10
-DB
+DF
 02
 00
 10
-DB
+DF
 02
 00
 10
-DB
+DF
 02
 00
 10
-DB
+DF
 02
 00
 10
-DB
+DF
 02
 00
 10
-DB
+DF
 02
 00
 10
-DB
+DF
 02
 00
 10
-DB
+DF
 02
 00
 10
-DB
+DF
 02
 00
 10
-DB
+DF
 02
 00
 10
-DB
+DF
 02
 00
 10
-DB
+DF
 02
 00
 10
-DB
+DF
 02
 00
 10
-DB
+DF
 02
 00
 10
-DB
+DF
 02
 00
 10
-DB
+DF
 02
 00
 10
-DB
+DF
 02
 00
 10
-DB
+DF
 02
 00
 10
-DB
+DF
 02
 00
 10
-DB
+DF
 02
 00
 10
-DB
+DF
 02
 00
 10
-DB
+DF
 02
 00
 10
-DB
+DF
 02
 00
 10
-DB
+DF
 02
 00
 10
-DB
+DF
 02
 00
 10
-DB
+DF
 02
 00
 10
-DB
+DF
 02
 00
 10
-DB
+DF
 02
 00
 10
-DB
+DF
 02
 00
 10
-DB
+DF
 02
 00
 10
-DB
+DF
 02
 00
 10
@@ -250,11 +250,11 @@ AB
 43
 18
 47
-70
+74
 02
 00
 00
-90
+94
 02
 00
 00
@@ -324,7 +324,7 @@ B5
 BD
 00
 F0
-DF
+E1
 F8
 11
 46
@@ -334,11 +334,11 @@ F7
 FF
 00
 F0
-59
+5B
 F8
 00
 F0
-F7
+F9
 F8
 03
 B4
@@ -350,7 +350,7 @@ FF
 BC
 00
 F0
-FD
+FF
 F8
 00
 00
@@ -366,7 +366,7 @@ F8
 47
 00
 00
-30
+31
 4A
 10
 68
@@ -378,11 +378,11 @@ F8
 28
 0D
 DA
-2E
+2F
 48
 81
 60
-2E
+2F
 4B
 03
 61
@@ -406,11 +406,11 @@ D1
 60
 01
 E0
-29
+2A
 48
 81
 60
-29
+2A
 48
 81
 60
@@ -418,6 +418,10 @@ E0
 21
 81
 60
+F0
+21
+01
+61
 41
 68
 C9
@@ -496,7 +500,7 @@ F3
 8F
 FF
 F7
-B8
+B6
 FF
 10
 BD
@@ -518,7 +522,7 @@ E7
 B5
 FF
 F7
-B3
+B1
 FF
 17
 A0
@@ -632,7 +636,7 @@ F0
 43
 27
 32
-34
+35
 20
 41
 52
@@ -742,7 +746,7 @@ E7
 47
 00
 00
-B9
+BD
 02
 00
 10
@@ -846,7 +850,7 @@ C0
 46
 FF
 F7
-02
+00
 FF
 10
 BD
@@ -874,7 +878,7 @@ E7
 47
 00
 00
-8C
+90
 03
 00
 10
@@ -890,7 +894,7 @@ E7
 01
 00
 10
-90
+94
 03
 00
 10
diff --git a/testcodes/dataio_dma230_tests/data_in.csv b/testcodes/dataio_dma230_tests/data_in.csv
new file mode 100644
index 0000000000000000000000000000000000000000..bcc1e4425ed3a795097bdf1627046f1a91dbe268
--- /dev/null
+++ b/testcodes/dataio_dma230_tests/data_in.csv
@@ -0,0 +1,6 @@
+0000100101000110,0000110001000110,0000110001000110,0000100101000110,0000011001000110,0000011001000110,0000010101000110,0000100001000110,0000110101000110,0000101101000110,0000100001000110,0000010001000110,0000001101000110,0000100001000110,0000100101000110,0000101001000110,0000100101000111,0000010101000111,0000010101000111,0000010101000111,0000011101000111,0000100101000111,0000101001000111,0000100001000111,0000010001000111,0000001001000111,0000010001000111,0000100001000111,0000101101000111,0000100101000111,0000011001000111,0000010001000111,0000010001000111,0000011001000111,0000100101000111,0000101001000111,0000100101000111,0000010101000111,0000001001000111,0000010101000111
+0000010100101010,1111110100101010,0000010100101010,0000000100101001,1111111000101010,0000011000101001,0000000100101001,0000010100101000,0000010100101000,0000000100101000,0000101100101000,0000101000101000,0000011100100111,0000101000101000,0000101100100111,0000110100100111,0000101100100111,0000100100100111,0000111000100111,0000101000100111,0000001100100111,0000101000100111,0000011100100110,0000001000100110,0000011100100110,0000011100100110,0000100100100110,0000101000100110,0000001100100101,0000101000100101,0000010100100101,0000000000100101,0000011000100101,0000010000100101,0000001000100100,0000010000100100,1111111100100101,0000011000100100,0000001000100100,1111110000100100
+0000000000000000,0000000000000001,0000000000000011,0000000000000111,0000000000001111,0000000000011111,0000000000111111,0000000001111111,0000000011111111,0000000111111111,0000001111111111,0000011111111111,0000111111111111,0001111111111111,0011111111111111,0111111111111111,1111111111111111
+1111111111111111,1111111111111110,1111111111111100,1111111111111000,1111111111110000,1111111111100000,1111111111000000,1111111110000000,1111111100000000,1111111000000000,1111110000000000,1111100000000000,1111000000000000,1110000000000000,1100000000000000,1000000000000000,0000000000000000
+0000000000000000,0000000000000001,0000000000000010,0000000000000100,0000000000001000,0000000000010000,0000000000100000,0000000001000000,0000000010000000,0000000100000000,0000001000000000,0000010000000000,0000100000000000,0001000000000000,0010000000000000,0100000000000000,1000000000000000
+
diff --git a/testcodes/dataio_dma230_tests/dataio_dma230_tests.c b/testcodes/dataio_dma230_tests/dataio_dma230_tests.c
new file mode 100644
index 0000000000000000000000000000000000000000..7af2905b8cafdfd37f4cb38fd78754f290cd270e
--- /dev/null
+++ b/testcodes/dataio_dma230_tests/dataio_dma230_tests.c
@@ -0,0 +1,142 @@
+#include "CMSDK_CM0.h"
+#include <string.h>
+#include "uart_stdout.h"
+#include <stdio.h>
+
+#include "dataio_functions.h"
+
+#include "dma_pl230_driver.h"
+#include "dma_pl230_driver.c"
+
+#define CSV_RECORD_LEN  (16+1)
+#define CSV_RECORD_COUNT  (5)
+
+static volatile dma_pl230_channel_data dataio_ip_chain[2];
+static volatile dma_pl230_channel_data dataio_op_chain[2];
+
+int  pl230_dma_detect(void);
+int  ID_Check(const unsigned int id_array[], unsigned int offset);
+
+// associate DMA channel numbers
+#define DMA_CHAN_DATAIO_IP (3)
+#define DMA_CHAN_DATAIO_OP (2)
+#define DATA_UART  ((CMSDK_UART_TypeDef   *) CMSDK_UART1_BASE   )
+
+void dataio_ip_driver_dma8( uint32_t nbytes, uint8_t *input)
+{
+    int c = DMA_CHAN_DATAIO_IP;
+
+// program DMA transfers as single chains
+
+    dataio_ip_chain[0].SrcEndPointer = DMA_PL230_PTR_END(&(DATA_UART->DATA),PL230_XFER_B,1);
+    dataio_ip_chain[0].DstEndPointer = DMA_PL230_PTR_END(input,PL230_XFER_B,nbytes);
+    dataio_ip_chain[0].Control       = DMA_PL230_CTRL_SRCFIX(PL230_CTRL_CYCLE_BASIC,PL230_XFER_B,nbytes,PL230_CTRL_RPWR_1);
+
+    dma_pl230_table->Primary[c].SrcEndPointer = DMA_PL230_PTR_END(&(dataio_ip_chain[0].SrcEndPointer), PL230_XFER_W, (1*4));
+    dma_pl230_table->Primary[c].DstEndPointer = DMA_PL230_PTR_END(&(dma_pl230_table->Alternate[c]), PL230_XFER_W, (1*4));
+    dma_pl230_table->Primary[c].Control       = DMA_PL230_CTRL_DSTFIX(PL230_CTRL_CYCLE_DEV_CHAIN_PRI,PL230_XFER_W,(1*4),PL230_CTRL_RPWR_4);
+
+    // enable DMA controller channels
+    DMA_PL230_DMAC->DMA_CFG = 0; /* Disable DMA controller for initialization */
+    dma_pl230_init(1<<DMA_CHAN_DATAIO_IP);
+
+    // test to ensure output DMA has started
+    while (!(dma_pl230_channel_active(1<<DMA_CHAN_DATAIO_IP)))
+      ;
+    while (dma_pl230_channel_active(1<<DMA_CHAN_DATAIO_IP))
+      ;
+    DMA_PL230_DMAC->DMA_CFG = 0; /* Disable DMA controller for initialization */
+    dma_pl230_init(0); // none active
+    return;
+}
+
+void dataio_op_driver_dma8( uint32_t nbytes, uint8_t *result)
+{
+    int c = DMA_CHAN_DATAIO_OP;
+// program DMA transfers as single chains
+
+    dataio_op_chain[0].SrcEndPointer = DMA_PL230_PTR_END(result,PL230_XFER_B,nbytes);
+    dataio_op_chain[0].DstEndPointer = DMA_PL230_PTR_END(&(DATA_UART->DATA),PL230_XFER_B,1);
+    dataio_op_chain[0].Control       = DMA_PL230_CTRL_DSTFIX(PL230_CTRL_CYCLE_BASIC,PL230_XFER_B,nbytes,PL230_CTRL_RPWR_1);
+
+    dma_pl230_table->Primary[c].SrcEndPointer = DMA_PL230_PTR_END(&(dataio_op_chain[0].SrcEndPointer), PL230_XFER_W,(1*4));
+    dma_pl230_table->Primary[c].DstEndPointer = DMA_PL230_PTR_END(&(dma_pl230_table->Alternate[c]), PL230_XFER_W,(1*4));
+    dma_pl230_table->Primary[c].Control       = DMA_PL230_CTRL_DSTFIX(PL230_CTRL_CYCLE_DEV_CHAIN_PRI,PL230_XFER_W,(1*4),PL230_CTRL_RPWR_4);
+
+    // enable DMA controller channels
+    DMA_PL230_DMAC->DMA_CFG = 0; /* Disable DMA controller for initialization */
+    dma_pl230_init(1<<DMA_CHAN_DATAIO_OP);
+
+    // test to ensure output DMA has started
+    while (!(dma_pl230_channel_active(1<<DMA_CHAN_DATAIO_OP)))
+      ;
+    while (dma_pl230_channel_active(1<<DMA_CHAN_DATAIO_OP))
+      ;
+    DMA_PL230_DMAC->DMA_CFG = 0; /* Disable DMA controller for initialization */
+    dma_pl230_init(0); // none active
+    return;
+}
+
+
+int main(void) {
+  unsigned char ch;
+  char         rx_buf[20];
+  char         tx_buf[20];
+  char *       p;
+  unsigned int rx_record_len;
+  unsigned int rx_record_count;
+  unsigned int rx_count;
+  unsigned int value;
+  unsigned int end_of_record ;
+  unsigned int end_of_data ;
+
+  UartStdOutInit();
+  printf("Data Channel CSV Reader/Writer using DMA230 (ASC binary -> Hex) tests\n");
+
+// Reset DMA table structures
+  dma_pl230_data_struct_init(); // initialize
+
+  DataIO_enable();
+  CMSDK_GPIO1->DATAOUT |= 0x0c; // enable DRQ signals
+  end_of_data = 0;
+  rx_record_len = CSV_RECORD_LEN - 1; // due to soft reset in testbench!
+  rx_record_count = CSV_RECORD_COUNT; // due to soft reset in testbench!
+
+  do { // record at a time
+    dataio_ip_driver_dma8(rx_record_len, (uint8_t *)rx_buf);
+    rx_count = 0;
+    value    = 0;
+    end_of_record = 0;
+    rx_record_len = CSV_RECORD_LEN;
+    p = rx_buf;
+    do { // parse process CSV entry
+        ch = *p++;
+        if  (ch == '0') { value = (value << 1);      rx_count++; }
+        if  (ch == '1') { value = (value << 1) + 1;  rx_count++; }
+        if  (ch == ',')  end_of_record = 1;
+        if ((ch == '\n') || (ch == '\r')) end_of_record = 1;
+//        if ((ch == '\n') || (ch == '\r')) end_of_data = (rx_count == 0) ? 1 : 0;
+    } while ((rx_count <= 16) && (end_of_record == 0) );
+    if (ch == '\n') end_of_data = (rx_record_count-- > 1) ? 0 : 1 ;
+    if (rx_count > 0) {
+      if (ch == ',')
+        printf(","); // ',' per CSV record
+      else
+        printf(".\n"); // newline delimiter
+
+      if (ch == ',')
+        sprintf(tx_buf,"0x%04x,", value);
+      else
+        sprintf(tx_buf,"0x%04x\n", value);
+
+      tx_buf[8]=0; // string zero terminate
+      dataio_op_driver_dma8(7, (uint8_t *)tx_buf);
+    }
+  } while (end_of_data == 0); // outer record loop
+
+  printf("** DATA FILE PROCESSING ** TEST PASSED **\n");
+
+  UartEndSimulation();
+  return 0;
+
+}
diff --git a/testcodes/dataio_dma230_tests/dataio_dma230_tests.hex b/testcodes/dataio_dma230_tests/dataio_dma230_tests.hex
new file mode 100644
index 0000000000000000000000000000000000000000..e0592c9e5efa1fa9d608b6fa3eadbece3f03c9d1
--- /dev/null
+++ b/testcodes/dataio_dma230_tests/dataio_dma230_tests.hex
@@ -0,0 +1,3176 @@
+20
+06
+00
+30
+A5
+05
+00
+00
+AD
+05
+00
+00
+AF
+05
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+B1
+05
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+B3
+05
+00
+00
+B5
+05
+00
+00
+B7
+05
+00
+00
+B7
+05
+00
+00
+B7
+05
+00
+00
+B7
+05
+00
+00
+B7
+05
+00
+00
+B7
+05
+00
+00
+B7
+05
+00
+00
+B7
+05
+00
+00
+B7
+05
+00
+00
+B7
+05
+00
+00
+B7
+05
+00
+00
+B7
+05
+00
+00
+B7
+05
+00
+00
+B7
+05
+00
+00
+B7
+05
+00
+00
+B7
+05
+00
+00
+B7
+05
+00
+00
+B7
+05
+00
+00
+B7
+05
+00
+00
+B7
+05
+00
+00
+B7
+05
+00
+00
+B7
+05
+00
+00
+B7
+05
+00
+00
+B7
+05
+00
+00
+B7
+05
+00
+00
+B7
+05
+00
+00
+B7
+05
+00
+00
+B7
+05
+00
+00
+B7
+05
+00
+00
+B7
+05
+00
+00
+B7
+05
+00
+00
+B7
+05
+00
+00
+00
+F0
+02
+F8
+00
+F0
+4B
+F8
+0C
+A0
+30
+C8
+08
+38
+24
+18
+2D
+18
+A2
+46
+67
+1E
+AB
+46
+54
+46
+5D
+46
+AC
+42
+01
+D1
+00
+F0
+3D
+F8
+7E
+46
+0F
+3E
+0F
+CC
+B6
+46
+01
+26
+33
+42
+00
+D0
+FB
+1A
+A2
+46
+AB
+46
+33
+43
+18
+47
+3C
+0B
+00
+00
+5C
+0B
+00
+00
+10
+3A
+02
+D3
+78
+C8
+78
+C1
+FA
+D8
+52
+07
+01
+D3
+30
+C8
+30
+C1
+01
+D5
+04
+68
+0C
+60
+70
+47
+00
+00
+00
+23
+00
+24
+00
+25
+00
+26
+10
+3A
+01
+D3
+78
+C1
+FB
+D8
+52
+07
+00
+D3
+30
+C1
+00
+D5
+0B
+60
+70
+47
+10
+B5
+64
+29
+02
+D1
+00
+F0
+4F
+FB
+10
+BD
+78
+29
+02
+D1
+00
+F0
+80
+FB
+10
+BD
+00
+20
+10
+BD
+1F
+B5
+1F
+BD
+10
+B5
+10
+BD
+00
+F0
+F7
+FC
+11
+46
+FF
+F7
+F7
+FF
+00
+F0
+18
+F9
+00
+F0
+0F
+FD
+03
+B4
+FF
+F7
+F2
+FF
+03
+BC
+00
+F0
+43
+FA
+10
+B5
+B8
+4C
+00
+21
+63
+68
+08
+46
+0A
+01
+98
+50
+D2
+18
+50
+60
+90
+60
+10
+64
+50
+64
+90
+64
+49
+1C
+04
+29
+F4
+DB
+01
+20
+20
+60
+10
+BD
+10
+B5
+AF
+48
+00
+68
+C0
+02
+C0
+0E
+40
+1C
+42
+01
+10
+28
+01
+DD
+AC
+48
+10
+E0
+08
+28
+01
+DD
+AB
+48
+0C
+E0
+04
+28
+01
+DD
+FF
+20
+08
+E0
+02
+28
+01
+DD
+7F
+20
+04
+E0
+01
+28
+01
+DD
+3F
+20
+00
+E0
+1F
+20
+01
+21
+C9
+07
+00
+23
+00
+2B
+01
+D0
+89
+18
+81
+43
+9D
+4C
+A1
+A0
+61
+60
+00
+F0
+AF
+FA
+00
+21
+63
+68
+08
+46
+0A
+01
+98
+50
+D2
+18
+50
+60
+90
+60
+10
+64
+50
+64
+90
+64
+49
+1C
+04
+29
+F4
+DB
+01
+20
+20
+60
+10
+BD
+70
+B5
+06
+46
+9E
+A0
+00
+F0
+E1
+FB
+91
+4C
+25
+68
+E8
+02
+C1
+0E
+A0
+A0
+49
+1C
+00
+F0
+91
+FA
+28
+06
+01
+0F
+A5
+A0
+00
+F0
+8C
+FA
+E9
+07
+C9
+0F
+AA
+A0
+00
+F0
+87
+FA
+20
+68
+00
+06
+00
+0F
+14
+D0
+08
+28
+12
+D0
+09
+28
+10
+D0
+AD
+A0
+00
+F0
+C4
+FB
+20
+68
+00
+06
+05
+0F
+28
+06
+01
+0F
+99
+A0
+00
+F0
+74
+FA
+00
+2D
+03
+D0
+08
+2D
+01
+D0
+09
+2D
+F1
+D1
+00
+20
+60
+60
+79
+48
+40
+68
+A0
+60
+00
+20
+C0
+43
+E0
+62
+0F
+20
+60
+63
+30
+40
+A0
+62
+A0
+61
+00
+2E
+01
+D0
+01
+20
+60
+60
+70
+BD
+70
+B5
+71
+4D
+06
+46
+28
+68
+00
+28
+01
+D1
+FF
+F7
+6A
+FF
+6E
+4C
+02
+E0
+96
+A0
+00
+F0
+97
+FB
+20
+68
+00
+06
+01
+0F
+03
+D0
+08
+29
+01
+D0
+09
+29
+F4
+D1
+00
+20
+60
+60
+68
+68
+A0
+60
+0F
+20
+E0
+62
+60
+63
+30
+40
+A0
+62
+A0
+61
+02
+20
+28
+60
+00
+2E
+01
+D0
+01
+20
+60
+60
+70
+BD
+5F
+49
+89
+6A
+00
+07
+00
+0F
+08
+40
+70
+47
+70
+B5
+8F
+4A
+8D
+4B
+13
+60
+09
+18
+49
+1E
+51
+60
+40
+1E
+80
+05
+8C
+49
+80
+0C
+40
+18
+90
+60
+55
+48
+11
+46
+40
+68
+0C
+31
+01
+63
+01
+46
+7C
+31
+41
+63
+87
+49
+81
+63
+51
+4D
+00
+24
+6C
+60
+08
+20
+FF
+F7
+B7
+FF
+08
+20
+FF
+F7
+DA
+FF
+00
+28
+FA
+D0
+08
+20
+FF
+F7
+D5
+FF
+00
+28
+FA
+D1
+6C
+60
+FF
+F7
+AA
+FF
+70
+BD
+0A
+18
+70
+B5
+79
+49
+20
+31
+52
+1E
+0A
+60
+76
+4A
+4A
+60
+40
+1E
+80
+05
+78
+4A
+80
+0C
+80
+18
+88
+60
+3F
+48
+0C
+31
+40
+68
+01
+62
+01
+46
+6C
+31
+41
+62
+71
+49
+81
+62
+3B
+4D
+00
+24
+6C
+60
+04
+20
+FF
+F7
+8C
+FF
+04
+20
+FF
+F7
+AF
+FF
+00
+28
+FA
+D0
+04
+20
+FF
+F7
+AA
+FF
+00
+28
+FA
+D1
+6C
+60
+FF
+F7
+7F
+FF
+70
+BD
+F0
+B5
+8B
+B0
+00
+F0
+30
+F9
+66
+48
+00
+F0
+D3
+F9
+FF
+F7
+E7
+FE
+00
+F0
+89
+F9
+64
+48
+41
+68
+0C
+22
+11
+43
+41
+60
+00
+27
+10
+26
+05
+25
+05
+A9
+30
+46
+FF
+F7
+93
+FF
+00
+21
+0C
+46
+0B
+46
+11
+26
+05
+AA
+10
+78
+52
+1C
+30
+28
+0E
+D0
+31
+28
+0F
+D0
+2C
+28
+11
+D0
+0A
+28
+0F
+D0
+0D
+28
+0D
+D0
+10
+29
+01
+D8
+00
+2B
+EF
+D0
+0A
+28
+09
+D0
+0F
+E0
+64
+00
+49
+1C
+F5
+E7
+64
+00
+49
+1C
+64
+1C
+F1
+E7
+01
+23
+EF
+E7
+2A
+46
+6D
+1E
+01
+2A
+01
+D8
+01
+27
+00
+E0
+00
+27
+00
+29
+0F
+D0
+2C
+28
+17
+D0
+49
+A0
+00
+F0
+94
+F9
+22
+46
+48
+A1
+68
+46
+00
+F0
+9D
+F9
+00
+20
+69
+46
+08
+72
+07
+20
+FF
+F7
+84
+FF
+00
+2F
+BF
+D0
+44
+A0
+00
+F0
+84
+F9
+00
+F0
+29
+F9
+00
+20
+0B
+B0
+F0
+BD
+4B
+A0
+00
+F0
+7C
+F9
+22
+46
+4A
+A1
+E6
+E7
+00
+00
+00
+00
+00
+30
+00
+F0
+00
+40
+FF
+03
+00
+00
+FF
+01
+00
+00
+64
+6D
+61
+20
+73
+74
+72
+75
+63
+74
+75
+72
+65
+20
+62
+6C
+6F
+63
+6B
+20
+61
+64
+64
+72
+65
+73
+73
+20
+3D
+20
+25
+78
+0A
+00
+00
+00
+49
+6E
+69
+74
+69
+61
+6C
+69
+7A
+65
+20
+50
+4C
+32
+33
+30
+00
+00
+00
+00
+2D
+20
+23
+20
+6F
+66
+20
+63
+68
+61
+6E
+6E
+65
+6C
+73
+20
+61
+6C
+6C
+6F
+77
+65
+64
+20
+3A
+20
+25
+64
+0A
+00
+00
+00
+2D
+20
+43
+75
+72
+72
+65
+6E
+74
+20
+73
+74
+61
+74
+75
+73
+20
+20
+20
+20
+20
+20
+20
+20
+3A
+20
+25
+78
+0A
+00
+00
+00
+2D
+20
+43
+75
+72
+72
+65
+6E
+74
+20
+6D
+61
+73
+74
+65
+72
+20
+65
+6E
+61
+62
+6C
+65
+20
+3A
+20
+25
+78
+0A
+00
+00
+00
+2D
+20
+77
+61
+69
+74
+20
+66
+6F
+72
+20
+44
+4D
+41
+20
+49
+44
+4C
+45
+2F
+53
+54
+41
+4C
+4C
+45
+44
+2F
+44
+4F
+4E
+45
+00
+00
+00
+00
+00
+50
+00
+40
+80
+01
+00
+30
+09
+00
+24
+0C
+3E
+80
+24
+EA
+09
+00
+24
+C0
+F0
+0B
+00
+00
+00
+10
+01
+40
+2E
+0A
+00
+00
+30
+78
+25
+30
+34
+78
+0A
+00
+2A
+2A
+20
+44
+41
+54
+41
+20
+46
+49
+4C
+45
+20
+50
+52
+4F
+43
+45
+53
+53
+49
+4E
+47
+20
+2A
+2A
+20
+54
+45
+53
+54
+20
+50
+41
+53
+53
+45
+44
+20
+2A
+2A
+0A
+00
+00
+2C
+00
+00
+00
+30
+78
+25
+30
+34
+78
+2C
+00
+04
+49
+03
+48
+08
+60
+70
+47
+02
+49
+01
+48
+08
+60
+70
+47
+00
+1C
+4E
+0E
+08
+00
+00
+30
+07
+48
+80
+47
+07
+48
+00
+47
+FE
+E7
+FE
+E7
+FE
+E7
+FE
+E7
+FE
+E7
+FE
+E7
+04
+48
+05
+49
+05
+4A
+06
+4B
+70
+47
+00
+00
+95
+05
+00
+00
+C1
+00
+00
+00
+20
+02
+00
+30
+20
+06
+00
+30
+20
+04
+00
+30
+20
+04
+00
+30
+10
+B5
+C0
+B2
+00
+F0
+37
+F8
+10
+BD
+10
+B5
+00
+F0
+42
+F8
+00
+F0
+31
+F8
+10
+BD
+00
+20
+C0
+43
+70
+47
+10
+B5
+C0
+B2
+00
+F0
+29
+F8
+10
+BD
+FE
+E7
+28
+48
+00
+21
+81
+60
+28
+49
+01
+61
+01
+21
+81
+60
+27
+48
+F0
+21
+01
+61
+03
+21
+81
+60
+25
+49
+20
+20
+88
+61
+70
+47
+25
+48
+24
+49
+01
+60
+25
+49
+81
+61
+01
+21
+C1
+60
+C3
+21
+81
+60
+01
+69
+C9
+07
+FC
+D0
+1D
+49
+20
+20
+88
+61
+1B
+48
+00
+21
+81
+60
+F0
+21
+01
+61
+03
+21
+81
+60
+70
+47
+17
+49
+8A
+68
+D2
+07
+04
+D0
+4A
+68
+D2
+07
+FC
+D1
+08
+60
+70
+47
+10
+4A
+53
+68
+DB
+07
+FC
+D1
+10
+60
+F7
+E7
+0D
+48
+0F
+49
+42
+68
+4B
+68
+92
+07
+D2
+17
+9B
+07
+DB
+17
+52
+1C
+5B
+1C
+1A
+42
+F5
+D1
+42
+68
+92
+07
+01
+D5
+00
+68
+03
+E0
+48
+68
+80
+07
+01
+D5
+08
+68
+C0
+B2
+70
+47
+04
+20
+FF
+F7
+D7
+FF
+FE
+E7
+00
+00
+00
+60
+00
+40
+6A
+18
+00
+00
+00
+E0
+00
+40
+00
+10
+01
+40
+8E
+0C
+01
+00
+00
+20
+00
+40
+24
+F4
+00
+00
+20
+49
+03
+20
+88
+60
+00
+20
+70
+47
+1E
+48
+00
+21
+81
+60
+03
+21
+81
+60
+00
+20
+70
+47
+1A
+48
+40
+68
+C0
+07
+C0
+17
+40
+1C
+70
+47
+17
+48
+40
+68
+C0
+07
+C0
+0F
+70
+47
+00
+B5
+01
+46
+FF
+F7
+F7
+FF
+00
+28
+FB
+D1
+12
+48
+01
+60
+08
+46
+00
+BD
+00
+B5
+02
+46
+13
+78
+00
+2B
+02
+D0
+18
+46
+FF
+F7
+EE
+FF
+52
+1C
+00
+2B
+F6
+D1
+00
+BD
+0A
+48
+40
+68
+80
+07
+C0
+0F
+70
+47
+07
+48
+40
+68
+80
+07
+C0
+17
+40
+1C
+70
+47
+00
+B5
+FF
+F7
+F7
+FF
+00
+28
+FB
+D1
+02
+48
+00
+68
+C0
+B2
+00
+BD
+00
+00
+00
+50
+00
+40
+70
+47
+00
+00
+0F
+B4
+05
+49
+10
+B5
+03
+AA
+02
+98
+00
+F0
+D1
+F9
+10
+BC
+08
+BC
+04
+B0
+18
+47
+00
+00
+0C
+00
+00
+30
+0F
+B4
+1C
+B5
+07
+4B
+06
+AA
+7B
+44
+69
+46
+00
+90
+05
+98
+00
+F0
+A7
+F9
+00
+20
+69
+46
+00
+F0
+B6
+F9
+1C
+BC
+08
+BC
+04
+B0
+18
+47
+7D
+03
+00
+00
+70
+B5
+04
+46
+85
+69
+00
+68
+C1
+06
+01
+D5
+30
+26
+00
+E0
+20
+26
+C0
+07
+07
+D0
+70
+BD
+62
+68
+30
+46
+A1
+68
+90
+47
+20
+6A
+40
+1C
+20
+62
+6D
+1E
+F6
+D5
+70
+BD
+70
+B5
+04
+46
+85
+69
+00
+78
+C0
+07
+07
+D1
+70
+BD
+62
+68
+A1
+68
+20
+20
+90
+47
+20
+6A
+40
+1C
+20
+62
+6D
+1E
+F6
+D5
+70
+BD
+00
+00
+F7
+B5
+00
+25
+75
+29
+10
+68
+00
+99
+14
+A6
+11
+D0
+C0
+46
+C0
+46
+00
+28
+02
+DA
+40
+42
+11
+A6
+08
+E0
+00
+99
+09
+68
+8A
+07
+01
+D5
+0F
+A6
+02
+E0
+49
+07
+04
+D5
+0E
+A6
+01
+25
+01
+E0
+C0
+46
+C0
+46
+00
+9F
+00
+24
+24
+37
+04
+E0
+00
+F0
+81
+F9
+30
+31
+39
+55
+64
+1C
+00
+28
+F8
+D1
+2B
+46
+32
+46
+21
+46
+00
+98
+00
+F0
+EB
+F8
+FE
+BD
+00
+00
+00
+00
+00
+00
+2D
+00
+00
+00
+2B
+00
+00
+00
+20
+00
+00
+00
+70
+B5
+04
+46
+0D
+46
+21
+46
+10
+68
+C0
+46
+C0
+46
+21
+88
+09
+05
+02
+D5
+0F
+4A
+7A
+44
+02
+E0
+0E
+4A
+7A
+44
+0E
+32
+23
+46
+00
+21
+24
+33
+05
+E0
+06
+07
+00
+09
+36
+0F
+96
+5D
+5E
+54
+49
+1C
+00
+28
+F7
+D1
+20
+78
+00
+23
+00
+07
+05
+D5
+70
+2D
+03
+D0
+00
+29
+01
+D0
+02
+23
+11
+32
+20
+46
+00
+F0
+B8
+F8
+70
+BD
+4C
+03
+00
+00
+F3
+B5
+04
+46
+00
+20
+81
+B0
+20
+62
+20
+46
+E1
+68
+88
+47
+00
+28
+7D
+D0
+25
+28
+02
+D0
+62
+68
+A1
+68
+83
+E0
+45
+4F
+00
+25
+7F
+44
+20
+46
+E1
+68
+88
+47
+20
+28
+06
+46
+08
+DB
+31
+2E
+06
+D2
+B8
+19
+20
+38
+00
+78
+00
+28
+01
+D0
+05
+43
+F0
+E7
+A8
+07
+01
+D5
+04
+20
+85
+43
+00
+20
+E0
+61
+07
+46
+A0
+61
+2A
+2E
+0A
+D0
+30
+46
+00
+F0
+52
+F9
+00
+28
+27
+D0
+B8
+00
+00
+19
+30
+3E
+00
+90
+86
+61
+19
+E0
+02
+98
+BA
+00
+12
+19
+02
+C8
+91
+61
+02
+90
+20
+46
+E1
+68
+88
+47
+01
+2F
+06
+46
+17
+D1
+E0
+69
+00
+28
+1F
+DA
+20
+20
+85
+43
+1C
+E0
+00
+98
+0A
+21
+80
+69
+48
+43
+00
+99
+80
+19
+30
+38
+88
+61
+20
+46
+E1
+68
+88
+47
+06
+46
+00
+F0
+2A
+F9
+00
+28
+EF
+D1
+01
+2F
+0A
+D0
+2E
+2E
+08
+D1
+20
+46
+E1
+68
+88
+47
+06
+46
+20
+20
+05
+43
+7F
+1C
+02
+2F
+C3
+DB
+A0
+69
+00
+28
+03
+DA
+40
+42
+A0
+61
+01
+20
+05
+43
+E8
+07
+01
+D0
+10
+20
+85
+43
+00
+2E
+24
+D0
+30
+46
+41
+38
+19
+28
+03
+D8
+01
+20
+C0
+02
+05
+43
+20
+36
+20
+46
+25
+60
+31
+46
+02
+9A
+15
+46
+FF
+F7
+C9
+FB
+00
+28
+0C
+D0
+01
+28
+07
+D0
+ED
+1D
+E8
+08
+00
+E0
+0D
+E0
+C0
+00
+08
+30
+02
+90
+77
+E7
+2D
+1D
+02
+95
+74
+E7
+62
+68
+30
+46
+A1
+68
+90
+47
+20
+6A
+40
+1C
+6C
+E7
+20
+6A
+FE
+BD
+00
+00
+10
+03
+00
+00
+10
+B5
+04
+46
+03
+E0
+FF
+F7
+F9
+FD
+40
+1C
+08
+D0
+20
+78
+05
+49
+64
+1C
+00
+28
+F6
+D1
+0A
+20
+FF
+F7
+EF
+FD
+10
+BD
+00
+20
+C0
+43
+10
+BD
+00
+00
+0C
+00
+00
+30
+70
+47
+70
+47
+70
+47
+FF
+B5
+04
+46
+0D
+46
+81
+B0
+24
+30
+00
+90
+21
+68
+88
+06
+04
+D5
+10
+22
+E0
+69
+91
+43
+21
+60
+00
+E0
+01
+20
+A8
+42
+01
+DD
+47
+1B
+00
+E0
+00
+27
+04
+98
+A1
+69
+7A
+19
+10
+18
+08
+1A
+A0
+61
+20
+78
+C0
+06
+02
+D4
+20
+46
+FF
+F7
+A1
+FE
+00
+26
+08
+E0
+03
+98
+62
+68
+A1
+68
+80
+5D
+90
+47
+20
+6A
+40
+1C
+76
+1C
+20
+62
+04
+98
+86
+42
+F3
+DB
+20
+78
+C0
+06
+0A
+D5
+20
+46
+FF
+F7
+8D
+FE
+06
+E0
+62
+68
+A1
+68
+30
+20
+90
+47
+20
+6A
+40
+1C
+20
+62
+38
+46
+7F
+1E
+00
+28
+F4
+DC
+07
+E0
+00
+98
+62
+68
+A1
+68
+40
+5D
+90
+47
+20
+6A
+40
+1C
+20
+62
+28
+46
+6D
+1E
+00
+28
+F3
+DC
+20
+46
+FF
+F7
+87
+FE
+20
+78
+00
+06
+02
+D5
+02
+20
+05
+B0
+F0
+BD
+01
+20
+FB
+E7
+00
+00
+01
+69
+4A
+1C
+02
+61
+08
+78
+70
+47
+00
+B5
+8F
+B0
+02
+91
+00
+21
+05
+91
+05
+49
+01
+93
+79
+44
+03
+91
+11
+46
+04
+90
+68
+46
+FF
+F7
+DF
+FE
+0F
+B0
+00
+BD
+00
+00
+E5
+FF
+FF
+FF
+0A
+68
+10
+70
+52
+1C
+0A
+60
+70
+47
+00
+00
+08
+4B
+70
+B5
+0D
+46
+7B
+44
+FF
+F7
+E1
+FF
+04
+46
+28
+46
+FF
+F7
+6F
+FD
+00
+28
+02
+D0
+00
+20
+C0
+43
+70
+BD
+20
+46
+70
+BD
+00
+00
+D3
+FA
+FF
+FF
+01
+46
+80
+08
+08
+1A
+02
+09
+10
+18
+02
+0A
+10
+18
+02
+0C
+10
+18
+C0
+08
+82
+00
+12
+18
+52
+00
+89
+1A
+01
+E0
+40
+1C
+0A
+39
+0A
+29
+FB
+D2
+70
+47
+75
+46
+00
+F0
+25
+F8
+AE
+46
+05
+00
+69
+46
+53
+46
+C0
+08
+C0
+00
+85
+46
+18
+B0
+20
+B5
+FF
+F7
+26
+FD
+60
+BC
+00
+27
+49
+08
+B6
+46
+00
+26
+C0
+C5
+C0
+C5
+C0
+C5
+C0
+C5
+C0
+C5
+C0
+C5
+C0
+C5
+C0
+C5
+40
+3D
+49
+00
+8D
+46
+70
+47
+10
+B5
+04
+46
+C0
+46
+C0
+46
+20
+46
+FF
+F7
+EA
+FA
+10
+BD
+00
+00
+00
+48
+70
+47
+C0
+01
+00
+30
+30
+38
+0A
+28
+01
+D2
+01
+20
+70
+47
+00
+20
+70
+47
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+41
+42
+43
+44
+45
+46
+40
+30
+58
+00
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+61
+62
+63
+64
+65
+66
+40
+30
+78
+00
+04
+00
+00
+08
+00
+00
+00
+00
+00
+00
+00
+02
+00
+01
+00
+00
+10
+00
+44
+61
+74
+61
+20
+43
+68
+61
+6E
+6E
+65
+6C
+20
+43
+53
+56
+20
+52
+65
+61
+64
+65
+72
+2F
+57
+72
+69
+74
+65
+72
+20
+75
+73
+69
+6E
+67
+20
+44
+4D
+41
+32
+33
+30
+20
+28
+41
+53
+43
+20
+62
+69
+6E
+61
+72
+79
+20
+2D
+3E
+20
+48
+65
+78
+29
+20
+74
+65
+73
+74
+73
+0A
+00
+00
+58
+0C
+00
+00
+00
+00
+00
+30
+10
+00
+00
+00
+04
+01
+00
+00
+68
+0C
+00
+00
+10
+00
+00
+30
+10
+06
+00
+00
+20
+01
+00
+00
+00
+00
+00
+00
+00
+01
+00
+30
+00
+1C
+4E
+0E
+00
+00
+00
+00
diff --git a/testcodes/dataio_dma230_tests/dataio_functions.c b/testcodes/dataio_dma230_tests/dataio_functions.c
new file mode 100644
index 0000000000000000000000000000000000000000..716f091b952b56edeaa76ea1d2c347bc00231fe3
--- /dev/null
+++ b/testcodes/dataio_dma230_tests/dataio_functions.c
@@ -0,0 +1,84 @@
+//-----------------------------------------------------------------------------
+// customised Cortex-M0 'nanosoc' controller
+// A joint work commissioned on behalf of SoC Labs, under Arm Academic Access license.
+//
+// Contributors
+//
+// David Flynn (d.w.flynn@soton.ac.uk)
+//
+// Copyright (c) 2025 SoC Labs (www.soclabs.org)
+//-----------------------------------------------------------------------------
+
+#include "CMSDK_CM0.h"
+
+#define DATA_UART  ((CMSDK_UART_TypeDef   *) CMSDK_UART1_BASE   )
+
+#define UART_STATE_TXFULL CMSDK_UART_STATE_TXBF_Msk
+#define UART_STATE_RXFULL CMSDK_UART_STATE_RXBF_Msk
+
+#define UART_CTRL_TXEN         CMSDK_UART_CTRL_TXEN_Msk
+#define UART_CTRL_RXEN         CMSDK_UART_CTRL_RXEN_Msk
+#define UART_CTRL_TXRXEN       (CMSDK_UART_CTRL_TXEN_Msk + CMSDK_UART_CTRL_RXEN_Msk)
+#define UART_CTRL_TXIRQEN      (CMSDK_UART_CTRL_TXIRQEN_Msk + UART_CTRL_TXRXEN)
+#define UART_CTRL_RXIRQEN      (CMSDK_UART_CTRL_RXIRQEN_Msk + UART_CTRL_TXRXEN)
+
+
+unsigned int DataIO_enable(void) {
+//  DATA_UART->CTRL    = 0x00;             // re-initialise/flush
+  DATA_UART->CTRL    = UART_CTRL_TXRXEN; // enble TX and RX
+  return(0);
+}
+
+unsigned int DataIO_init(void) {
+  DATA_UART->CTRL    = 0x00;             // re-initialise/flush
+  DATA_UART->CTRL    = UART_CTRL_TXRXEN; // enble TX and RX
+  return(0);
+}
+
+// Output ready check
+unsigned int DataIO_putc_ready(void) {
+  return((DATA_UART->STATE & UART_STATE_TXFULL) == 0); // ready if TXBUF empty
+}
+
+// Output Busy check
+unsigned int DataIO_putc_busy(void) {
+  return((DATA_UART->STATE & UART_STATE_TXFULL) != 0); // busy if TXBUF full
+}
+
+// Output a character
+unsigned char DataIO_putc(unsigned char my_ch) {
+  while (DataIO_putc_busy()) ; // busy wait
+  DATA_UART->DATA = my_ch; // output the character
+  return (my_ch);
+}
+
+
+// Output a (zero-terminated) string
+void DataIO_puts(unsigned char * mytext) {
+  unsigned char string_ch;
+  do {
+    string_ch = *mytext;
+    if (string_ch != (char) 0x0) {
+      DataIO_putc(string_ch);  // Normal data
+      }
+    *mytext++;
+  } while (string_ch != 0);
+  return;
+}
+
+// Input ready check
+unsigned int DataIO_getc_ready(void) {
+  return((DATA_UART->STATE & UART_STATE_RXFULL) != 0); // ready if RXBUF set
+}
+
+
+// Input Busy check
+unsigned int DataIO_getc_busy(void) {
+  return((DATA_UART->STATE & UART_STATE_RXFULL) == 0); // busy if RXBUF not set
+}
+
+// Input a character
+unsigned char DataIO_getc(void) {
+  while (DataIO_getc_busy()) ; // busy wait
+  return (DATA_UART->DATA);
+}
diff --git a/testcodes/dataio_dma230_tests/dataio_functions.h b/testcodes/dataio_dma230_tests/dataio_functions.h
new file mode 100644
index 0000000000000000000000000000000000000000..9d49f950a8e6f3202abd54f6623ff1ae17be3460
--- /dev/null
+++ b/testcodes/dataio_dma230_tests/dataio_functions.h
@@ -0,0 +1,69 @@
+//-----------------------------------------------------------------------------
+// customised Cortex-M0 'nanosoc' controller
+// A joint work commissioned on behalf of SoC Labs, under Arm Academic Access license.
+//
+// Contributors
+//
+// David Flynn (d.w.flynn@soton.ac.uk)
+//
+// Copyright (c) 2025 SoC Labs (www.soclabs.org)
+//-----------------------------------------------------------------------------
+
+// IO enable
+extern unsigned int DataIO_enable(void);
+extern unsigned int DataIO_init(void);
+
+// Output ready check
+extern unsigned char DataIO_putc_ready(void);
+
+// Output busy check
+extern unsigned int DataIO_putc_busy(void);
+
+// Output a character
+extern unsigned char DataIO_putc(unsigned char my_ch);
+
+// DataIO string output
+extern void DataIO_puts(unsigned char * mytext);
+
+// Input ready check
+extern unsigned int DataIO_getc_ready(void);
+
+// Input busy check
+extern unsigned int DataIO_getc_busy(void);
+
+// Input a character
+extern unsigned char DataIO_getc(void);
+
+/* example usage
+
+#include "CMSDK_CM0.h"
+#include <string.h>
+#include "uart_stdout.h"
+#include <stdio.h>
+
+#include "DataIO_functions.h"
+
+int main(void) {
+  unsigned char ch;
+  char tx_buf[32];
+  
+  
+  UartStdOutInit(); // console channel init
+  printf("Data Channel CSV Reader/Writer (ASC binary -> Hex) tests\n");
+  DataIO_init();  // datachannel init
+    do { // rx process CSV entry
+      if (DataIO_getc_ready()) {
+        ch = DataIO_Getc();
+        // ...
+      }
+    
+    DataIO_puts((unsigned char*) tx_buf);
+    
+    do { // tx process
+      if (DataIO_putc_ready()) {
+        DataIO_putc(tx_buf[<i>]);
+      }
+
+*/
+
+
diff --git a/testcodes/dataio_dma230_tests/makefile b/testcodes/dataio_dma230_tests/makefile
new file mode 100644
index 0000000000000000000000000000000000000000..3f00c77513120faa17e2301e390d061bfe2dff2d
--- /dev/null
+++ b/testcodes/dataio_dma230_tests/makefile
@@ -0,0 +1,259 @@
+#-----------------------------------------------------------------------------
+# The confidential and proprietary information contained in this file may
+# only be used by a person authorised under and to the extent permitted
+# by a subsisting licensing agreement from Arm Limited or its affiliates.
+#
+#            (C) COPYRIGHT 2010-2013 Arm Limited or its affiliates.
+#                ALL RIGHTS RESERVED
+#
+# This entire notice must be reproduced on all copies of this file
+# and copies of this file may only be made by a person if such person is
+# permitted to do so under the terms of a subsisting license agreement
+# from Arm Limited or its affiliates.
+#
+#      SVN Information
+#
+#      Checked In          : $Date: 2017-10-10 15:55:38 +0100 (Tue, 10 Oct 2017) $
+#
+#      Revision            : $Revision: 371321 $
+#
+#      Release Information : Cortex-M System Design Kit-r1p1-00rel0
+#-----------------------------------------------------------------------------
+#
+# Cortex-M System Design Kit software compilation make file
+#
+#-----------------------------------------------------------------------------
+#
+#  Configurations
+#
+# Choose the core instantiated, can be
+#  - CORTEX_M0
+#  - CORTEX_M0PLUS
+CPU_PRODUCT = CORTEX_M0
+
+# Shared software directory
+SOFTWARE_DIR = $(SOCLABS_NANOSOC_TECH_DIR)/software
+CMSIS_DIR    = $(SOFTWARE_DIR)/cmsis
+CORE_DIR     = $(CMSIS_DIR)/CMSIS/Include
+
+ifeq ($(CPU_PRODUCT),CORTEX_M0PLUS)
+  DEVICE_DIR   = $(CMSIS_DIR)/Device/ARM/CMSDK_CM0plus
+else
+  DEVICE_DIR   = $(CMSIS_DIR)/Device/ARM/CMSDK_CM0
+endif
+
+# Program file
+TESTNAME     = dataio_dma230_tests
+
+# Endian Option
+COMPILE_BIGEND = 0
+
+# Configuration
+ifeq ($(CPU_PRODUCT),CORTEX_M0PLUS)
+  USER_DEFINE    = -DCORTEX_M0PLUS
+else
+  USER_DEFINE    = -DCORTEX_M0
+endif
+
+DEPS_LIST       = makefile
+
+# Tool chain : ds5 / gcc / keil
+TOOL_CHAIN      = ds5
+
+ifeq ($(TOOL_CHAIN),ds5)
+  ifeq ($(CPU_PRODUCT),CORTEX_M0PLUS)
+    CPU_TYPE        = --cpu Cortex-M0plus
+  else
+    CPU_TYPE        = --cpu Cortex-M0
+  endif
+endif
+
+ifeq ($(TOOL_CHAIN),gcc)
+  ifeq ($(CPU_PRODUCT),CORTEX_M0PLUS)
+    CPU_TYPE        = -mcpu=cortex-m0plus
+  else
+    CPU_TYPE        = -mcpu=cortex-m0
+  endif
+endif
+
+# Startup code directory for DS-5
+ifeq ($(TOOL_CHAIN),ds5)
+ STARTUP_DIR  = $(DEVICE_DIR)/Source/ARM
+endif
+
+# Startup code directory for gcc
+ifeq ($(TOOL_CHAIN),gcc)
+ STARTUP_DIR  = $(DEVICE_DIR)/Source/GCC
+endif
+
+ifeq ($(CPU_PRODUCT),CORTEX_M0PLUS)
+  STARTUP_FILE = startup_CMSDK_CM0plus
+  SYSTEM_FILE  = system_CMSDK_CM0plus
+else
+  STARTUP_FILE = startup_CMSDK_CM0
+  SYSTEM_FILE  = system_CMSDK_CM0
+endif
+
+# ---------------------------------------------------------------------------------------
+# DS-5 options
+
+# MicroLIB option
+COMPILE_MICROLIB = 0
+
+# Small Multiply (Cortex-M0/M0+ has small multiplier option)
+COMPILE_SMALLMUL = 0
+
+ARM_CC_OPTIONS   = -c -O3 -Ospace -I $(DEVICE_DIR)/Include  -I $(CORE_DIR) \
+		   -I $(SOFTWARE_DIR)/common/retarget -I $(SOFTWARE_DIR)/drivers $(USER_DEFINE)
+ARM_ASM_OPTIONS  = 
+ARM_LINK_OPTIONS = "--keep=$(STARTUP_FILE).o(RESET)" "--first=$(STARTUP_FILE).o(RESET)" \
+		   --no_debug --rw_base 0x30000000 --ro_base 0x00000000 --map  --info sizes
+
+ifeq ($(COMPILE_BIGEND),1)
+ # Big Endian
+ ARM_CC_OPTIONS   += --bigend
+ ARM_ASM_OPTIONS  += --bigend
+ ARM_LINK_OPTIONS += --be8
+endif
+
+ifeq ($(COMPILE_MICROLIB),1)
+ # MicroLIB
+ ARM_CC_OPTIONS   += --library_type=microlib
+ ARM_ASM_OPTIONS  += --library_type=microlib --pd "__MICROLIB SETA 1"
+ ARM_LINK_OPTIONS += --library_type=microlib
+endif
+
+ifeq ($(COMPILE_SMALLMUL),1)
+ # In Cortex-M0, small multiply takes 32 cycles
+ ARM_CC_OPTIONS   += --multiply_latency=32
+endif
+
+# ---------------------------------------------------------------------------------------
+# gcc options
+
+GNG_CC      = arm-none-eabi-gcc
+GNU_OBJDUMP = arm-none-eabi-objdump
+GNU_OBJCOPY = arm-none-eabi-objcopy
+
+LINKER_SCRIPT_PATH = $(SOFTWARE_DIR)/common/scripts
+LINKER_SCRIPT = $(LINKER_SCRIPT_PATH)/cmsdk_cm0.ld
+
+GNU_CC_FLAGS = -g -O3 -mthumb $(CPU_TYPE)
+
+ifeq ($(COMPILE_BIGEND),1)
+ # Big Endian
+ GNU_CC_FLAGS   += -mbig-endian
+endif
+
+# ---------------------------------------------------------------------------------------
+all: all_$(TOOL_CHAIN)
+
+# ---------------------------------------------------------------------------------------
+# DS-5
+all_ds5 : $(TESTNAME).hex $(TESTNAME).lst $(TESTNAME).bin
+
+$(TESTNAME).o :  $(TESTNAME).c $(DEPS_LIST)
+	armcc $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o  $@
+
+dma_pl230_driver.o :  $(SOFTWARE_DIR)/drivers/dma_pl230_driver.c $(DEPS_LIST)
+	armcc $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o $@
+
+dataio_functions.o :  dataio_functions.c dataio_functions.h $(DEPS_LIST)
+	armcc $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o  $@
+
+$(SYSTEM_FILE).o : $(DEVICE_DIR)/Source/$(SYSTEM_FILE).c $(DEPS_LIST)
+	armcc $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o  $@
+
+retarget.o : $(SOFTWARE_DIR)/common/retarget/retarget.c $(DEPS_LIST)
+	armcc $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o  $@
+
+uart_stdout.o : $(SOFTWARE_DIR)/common/retarget/uart_stdout.c $(DEPS_LIST)
+	armcc $(ARM_CC_OPTIONS) $(CPU_TYPE) $< -o  $@
+
+$(STARTUP_FILE).o : $(STARTUP_DIR)/$(STARTUP_FILE).s $(DEPS_LIST)
+	armasm $(ARM_ASM_OPTIONS) $(CPU_TYPE) $< -o  $@
+
+$(TESTNAME).ELF : $(TESTNAME).o $(SYSTEM_FILE).o $(STARTUP_FILE).o dataio_functions.o retarget.o uart_stdout.o
+	armlink $(ARM_LINK_OPTIONS) -o $@ $(TESTNAME).o $(SYSTEM_FILE).o $(STARTUP_FILE).o retarget.o uart_stdout.o dataio_functions.o
+
+$(TESTNAME).hex : $(TESTNAME).ELF
+	fromelf --vhx --8x1 $< --output $@
+
+$(TESTNAME).bin : $(TESTNAME).ELF
+	fromelf --bin $< --output $@
+
+$(TESTNAME).lst : $(TESTNAME).ELF
+	fromelf -c -d -e -s -z -v $< --output $@
+
+# ---------------------------------------------------------------------------------------
+# gcc
+all_gcc:
+	$(GNG_CC) $(GNU_CC_FLAGS) $(STARTUP_DIR)/$(STARTUP_FILE).s \
+		$(TESTNAME).c \
+		$(SOFTWARE_DIR)/common/retarget/retarget.c \
+		$(SOFTWARE_DIR)/common/retarget/uart_stdout.c \
+		$(DEVICE_DIR)/Source/$(SYSTEM_FILE).c \
+		-I $(DEVICE_DIR)/Include -I $(CORE_DIR) \
+        -I $(SOFTWARE_DIR)/common/retarget  \
+		-I $(SOFTWARE_DIR)/drivers \
+		-L $(LINKER_SCRIPT_PATH) \
+		-D__STACK_SIZE=0x200 \
+		-D__HEAP_SIZE=0x1000 \
+		$(USER_DEFINE) -T $(LINKER_SCRIPT) -o $(TESTNAME).o
+	# Generate disassembly code
+	$(GNU_OBJDUMP) -S $(TESTNAME).o > $(TESTNAME).lst
+	# Generate binary file
+	$(GNU_OBJCOPY) -S $(TESTNAME).o -O binary $(TESTNAME).bin
+	# Generate hex file
+	$(GNU_OBJCOPY) -S $(TESTNAME).o -O verilog $(TESTNAME).hex
+
+# Note:
+# If the version of object copy you are using does not support verilog hex file output,
+# you can generate the hex file from binary file using the following command
+#       od -v -A n -t x1 --width=1  $(TESTNAME).bin > $(TESTNAME).hex
+
+
+# ---------------------------------------------------------------------------------------
+# Keil MDK
+
+all_keil:
+	@echo "Please compile your project code and press ENTER when ready"
+	@read dummy
+
+# ---------------------------------------------------------------------------------------
+# Binary
+
+all_bin: $(TESTNAME).bin
+	# Generate hex file from binary
+	od -v -A n -t x1 --width=1  $(TESTNAME).bin > $(TESTNAME).hex
+
+# ---------------------------------------------------------------------------------------
+# Clean
+clean :
+	@rm -rf *.o
+	@if [ -e $(TESTNAME).hex ] ; then \
+	  rm -rf $(TESTNAME).hex ; \
+	fi
+	@if [ -e $(TESTNAME).lst ] ; then \
+	  rm -rf $(TESTNAME).lst ; \
+	fi
+	@if [ -e $(TESTNAME).ELF ] ; then \
+	  rm -rf $(TESTNAME).ELF ; \
+	fi
+	@if [ -e $(TESTNAME).bin ] ; then \
+	  rm -rf $(TESTNAME).bin ; \
+	fi
+	@rm -rf *.crf
+	@rm -rf *.plg
+	@rm -rf *.tra
+	@rm -rf *.htm
+	@rm -rf *.map
+	@rm -rf *.dep
+	@rm -rf *.d
+	@rm -rf *.lnp
+	@rm -rf *.bak
+	@rm -rf *.lst
+	@rm -rf *.axf
+	@rm -rf *.sct
+	@rm -rf *.__i
+	@rm -rf *._ia
diff --git a/testcodes/dataio_tests/dataio_functions.c b/testcodes/dataio_tests/dataio_functions.c
index ade2e12ee35c2b9902be93a731f886a0aae7b89f..716f091b952b56edeaa76ea1d2c347bc00231fe3 100644
--- a/testcodes/dataio_tests/dataio_functions.c
+++ b/testcodes/dataio_tests/dataio_functions.c
@@ -24,7 +24,7 @@
 
 
 unsigned int DataIO_enable(void) {
-  DATA_UART->CTRL    = 0x00;             // re-initialise/flush
+//  DATA_UART->CTRL    = 0x00;             // re-initialise/flush
   DATA_UART->CTRL    = UART_CTRL_TXRXEN; // enble TX and RX
   return(0);
 }
diff --git a/testcodes/dataio_tests/dataio_tests.hex b/testcodes/dataio_tests/dataio_tests.hex
index 68a237a52d1c19c1703ffb4f6697313c5917db6f..5960c0db2e8e301e013ce32925ee359d6de22454 100644
--- a/testcodes/dataio_tests/dataio_tests.hex
+++ b/testcodes/dataio_tests/dataio_tests.hex
@@ -520,7 +520,7 @@ F0
 F9
 00
 F0
-D2
+D3
 F8
 00
 20
@@ -756,7 +756,7 @@ C0
 B2
 00
 F0
-36
+37
 F8
 10
 BD
@@ -764,11 +764,11 @@ BD
 B5
 00
 F0
-41
+42
 F8
 00
 F0
-30
+31
 F8
 10
 BD
@@ -784,19 +784,19 @@ C0
 B2
 00
 F0
-28
+29
 F8
 10
 BD
 FE
 E7
-27
+28
 48
 00
 21
 81
 60
-27
+28
 49
 01
 61
@@ -804,12 +804,14 @@ E7
 21
 81
 60
-26
+27
 48
-03
+F0
 21
 01
 61
+03
+21
 81
 60
 25
@@ -822,11 +824,11 @@ E7
 47
 25
 48
-23
+24
 49
 01
 60
-24
+25
 49
 81
 61
@@ -850,13 +852,13 @@ D0
 20
 88
 61
-1A
+1B
 48
 00
 21
 81
 60
-30
+F0
 21
 01
 61
@@ -866,7 +868,7 @@ D0
 60
 70
 47
-16
+17
 49
 8A
 68
@@ -898,7 +900,7 @@ F7
 E7
 0D
 48
-0E
+0F
 49
 42
 68
@@ -951,6 +953,8 @@ FF
 FE
 E7
 00
+00
+00
 60
 00
 40
@@ -978,15 +982,11 @@ E0
 F4
 00
 00
-21
-48
-00
-21
-81
-60
+20
+49
 03
-21
-81
+20
+88
 60
 00
 20
diff --git a/testcodes/debug_tests/debug_tests.hex b/testcodes/debug_tests/debug_tests.hex
index 9046aba306df3d104363ef260c3bf9cf3b5e8e52..5ece5feb5c8049e8f7042205b53572b549fe46ec 100644
--- a/testcodes/debug_tests/debug_tests.hex
+++ b/testcodes/debug_tests/debug_tests.hex
@@ -250,11 +250,11 @@ AB
 43
 18
 47
-74
+78
 0E
 00
 00
-94
+98
 0E
 00
 00
@@ -322,7 +322,7 @@ B5
 D1
 00
 F0
-AB
+AD
 FD
 10
 BD
@@ -332,7 +332,7 @@ BD
 D1
 00
 F0
-DC
+DE
 FD
 10
 BD
@@ -342,7 +342,7 @@ BD
 D1
 00
 F0
-87
+89
 FE
 10
 BD
@@ -360,7 +360,7 @@ B5
 BD
 00
 F0
-C2
+C4
 FE
 11
 46
@@ -374,7 +374,7 @@ F0
 F8
 00
 F0
-DA
+DC
 FE
 03
 B4
@@ -402,47 +402,47 @@ B5
 A0
 00
 F0
-15
+17
 FD
 00
 F0
-27
+29
 FC
 B8
 A0
 00
 F0
-E0
+E2
 FD
 BD
 A0
 00
 F0
-DD
+DF
 FD
 01
 20
 00
 F0
-78
+7A
 FC
 C2
 A0
 00
 F0
-D7
+D9
 FD
 CB
 A0
 00
 F0
-D4
+D6
 FD
 02
 20
 00
 F0
-6F
+71
 FC
 CE
 4C
@@ -460,13 +460,13 @@ CC
 A0
 00
 F0
-C8
+CA
 FD
 CC
 A0
 00
 F0
-C5
+C7
 FD
 00
 25
@@ -480,7 +480,7 @@ CF
 20
 00
 F0
-5C
+5E
 FC
 00
 28
@@ -514,7 +514,7 @@ C6
 A0
 00
 F0
-AD
+AF
 FD
 06
 E0
@@ -530,13 +530,13 @@ C5
 A0
 00
 F0
-D5
+D7
 FC
 CC
 A0
 00
 F0
-A2
+A4
 FD
 28
 68
@@ -546,7 +546,7 @@ FD
 20
 00
 F0
-3B
+3D
 FC
 00
 28
@@ -576,7 +576,7 @@ B7
 A0
 00
 F0
-8E
+90
 FD
 06
 E0
@@ -592,13 +592,13 @@ B6
 A0
 00
 F0
-B6
+B8
 FC
 C2
 A0
 00
 F0
-83
+85
 FD
 29
 68
@@ -610,7 +610,7 @@ FC
 20
 00
 F0
-1B
+1D
 FC
 00
 28
@@ -640,7 +640,7 @@ A7
 A0
 00
 F0
-6E
+70
 FD
 06
 E0
@@ -656,13 +656,13 @@ A6
 A0
 00
 F0
-96
+98
 FC
 B8
 A0
 00
 F0
-63
+65
 FD
 29
 68
@@ -674,7 +674,7 @@ F8
 20
 00
 F0
-FB
+FD
 FB
 00
 28
@@ -704,7 +704,7 @@ D1
 A0
 00
 F0
-4E
+50
 FD
 06
 E0
@@ -720,13 +720,13 @@ E0
 A0
 00
 F0
-76
+78
 FC
 AD
 A0
 00
 F0
-43
+45
 FD
 28
 68
@@ -744,7 +744,7 @@ FD
 20
 00
 F0
-B6
+B8
 FB
 28
 68
@@ -770,7 +770,7 @@ F8
 D0
 00
 F0
-C0
+C2
 FB
 00
 28
@@ -786,13 +786,13 @@ D0
 A0
 00
 F0
-25
+27
 FD
 A6
 A0
 00
 F0
-22
+24
 FD
 28
 68
@@ -802,7 +802,7 @@ FD
 20
 00
 F0
-BB
+BD
 FB
 00
 28
@@ -818,7 +818,7 @@ D0
 A0
 00
 F0
-15
+17
 FD
 28
 68
@@ -840,7 +840,7 @@ A0
 A0
 00
 F0
-0A
+0C
 FD
 01
 20
@@ -850,7 +850,7 @@ FD
 20
 00
 F0
-81
+83
 FB
 A0
 68
@@ -868,7 +868,7 @@ E7
 A0
 00
 F0
-FC
+FE
 FC
 28
 68
@@ -878,13 +878,13 @@ A7
 A0
 00
 F0
-27
+29
 FC
 B1
 A0
 00
 F0
-F4
+F6
 FC
 28
 68
@@ -908,13 +908,13 @@ E0
 A0
 00
 F0
-E8
+EA
 FC
 AB
 A0
 00
 F0
-E5
+E7
 FC
 28
 68
@@ -938,13 +938,13 @@ E0
 A0
 00
 F0
-D9
+DB
 FC
 A7
 A0
 00
 F0
-D6
+D8
 FC
 28
 68
@@ -968,7 +968,7 @@ E0
 A0
 00
 F0
-CA
+CC
 FC
 B3
 E7
@@ -990,11 +990,11 @@ D0
 A0
 00
 F0
-EF
+F1
 FB
 00
 F0
-50
+52
 FB
 00
 28
@@ -1020,19 +1020,19 @@ E0
 A0
 00
 F0
-B0
+B2
 FC
 9A
 A0
 00
 F0
-AD
+AF
 FC
 03
 20
 00
 F0
-48
+4A
 FB
 00
 28
@@ -1048,7 +1048,7 @@ D0
 A0
 00
 F0
-A2
+A4
 FC
 21
 68
@@ -1060,11 +1060,11 @@ D0
 A0
 00
 F0
-CC
+CE
 FB
 00
 F0
-0C
+0E
 FB
 20
 68
@@ -1078,7 +1078,7 @@ E7
 A0
 00
 F0
-93
+95
 FC
 F5
 E7
@@ -1096,7 +1096,7 @@ D0
 A0
 00
 F0
-8A
+8C
 FC
 10
 BD
@@ -1848,7 +1848,7 @@ C0
 B2
 00
 F0
-36
+37
 F8
 10
 BD
@@ -1856,11 +1856,11 @@ BD
 B5
 00
 F0
-42
+43
 F8
 00
 F0
-30
+31
 F8
 10
 BD
@@ -1876,19 +1876,19 @@ C0
 B2
 00
 F0
-28
+29
 F8
 10
 BD
 FE
 E7
-2E
+2F
 48
 00
 21
 81
 60
-2E
+2F
 49
 01
 61
@@ -1896,12 +1896,14 @@ E7
 21
 81
 60
-2D
+2E
 48
-03
+F0
 21
 01
 61
+03
+21
 81
 60
 2C
@@ -1914,11 +1916,11 @@ E7
 47
 2C
 48
-2A
+2B
 49
 01
 60
-2B
+2C
 49
 81
 61
@@ -1942,13 +1944,13 @@ D0
 20
 88
 61
-21
+22
 48
 00
 21
 81
 60
-30
+F0
 21
 01
 61
@@ -1958,7 +1960,7 @@ D0
 60
 70
 47
-1D
+1E
 49
 8A
 68
@@ -1990,7 +1992,7 @@ D1
 60
 70
 47
-13
+14
 4B
 15
 48
@@ -2071,6 +2073,8 @@ D1
 F7
 E7
 00
+00
+00
 60
 00
 40
@@ -2554,13 +2558,13 @@ FF
 20
 FF
 F7
-D5
+D4
 FE
 11
 20
 FF
 F7
-D2
+D1
 FE
 36
 A0
@@ -2606,7 +2610,7 @@ F0
 F9
 FF
 F7
-E2
+E1
 FE
 20
 68
@@ -2632,17 +2636,17 @@ B5
 20
 FF
 F7
-AE
+AD
 FE
 12
 20
 FF
 F7
-AB
+AA
 FE
 FF
 F7
-D0
+CF
 FE
 10
 BD
@@ -3100,7 +3104,7 @@ FF
 46
 FF
 F7
-8E
+8C
 FA
 00
 28
@@ -3430,7 +3434,7 @@ B5
 E0
 FF
 F7
-E5
+E3
 FC
 40
 1C
@@ -3450,7 +3454,7 @@ D1
 20
 FF
 F7
-DB
+D9
 FC
 10
 BD
@@ -3712,7 +3716,7 @@ F8
 46
 FF
 F7
-63
+61
 FC
 00
 28
@@ -3730,7 +3734,7 @@ BD
 BD
 00
 00
-BB
+B7
 F8
 FF
 FF
@@ -3848,7 +3852,7 @@ B0
 B5
 FF
 F7
-02
+00
 FC
 60
 BC
@@ -3896,7 +3900,7 @@ C0
 46
 FF
 F7
-1F
+1D
 F9
 10
 BD
@@ -3950,7 +3954,7 @@ BD
 30
 78
 00
-90
+94
 0F
 00
 00
@@ -3966,7 +3970,7 @@ BD
 01
 00
 00
-A4
+A8
 0F
 00
 00
diff --git a/testcodes/default_slaves_tests/default_slaves_tests.hex b/testcodes/default_slaves_tests/default_slaves_tests.hex
index ecdc8dbfff2a0db07512185f4224cb9adbfb2d3c..2b4910797efeb468a221c4e507c82f4d819192c5 100644
--- a/testcodes/default_slaves_tests/default_slaves_tests.hex
+++ b/testcodes/default_slaves_tests/default_slaves_tests.hex
@@ -250,11 +250,11 @@ AB
 43
 18
 47
-50
+54
 07
 00
 00
-70
+74
 07
 00
 00
@@ -322,7 +322,7 @@ B5
 D1
 00
 F0
-49
+4B
 FA
 10
 BD
@@ -340,7 +340,7 @@ B5
 BD
 00
 F0
-0A
+0C
 FB
 11
 46
@@ -354,7 +354,7 @@ F0
 F8
 00
 F0
-22
+24
 FB
 03
 B4
@@ -430,13 +430,13 @@ F9
 48
 00
 F0
-3F
+41
 FA
 46
 A0
 00
 F0
-3C
+3E
 FA
 4F
 4D
@@ -538,7 +538,7 @@ D1
 A0
 00
 F0
-09
+0B
 FA
 43
 48
@@ -632,11 +632,11 @@ D0
 A0
 00
 F0
-6A
+6C
 F9
 00
 F0
-47
+48
 F9
 00
 20
@@ -646,7 +646,7 @@ BD
 A0
 00
 F0
-63
+65
 F9
 F7
 E7
@@ -666,7 +666,7 @@ B5
 A0
 00
 F0
-C9
+CB
 F9
 68
 68
@@ -682,7 +682,7 @@ A5
 68
 00
 F0
-51
+53
 F9
 29
 46
@@ -690,7 +690,7 @@ F9
 A0
 00
 F0
-4D
+4F
 F9
 43
 48
@@ -702,15 +702,15 @@ BD
 A0
 00
 F0
-B7
+B9
 F9
 00
 F0
-24
+25
 F9
 FE
 E7
-EC
+F0
 07
 00
 00
@@ -1104,7 +1104,7 @@ C0
 B2
 00
 F0
-36
+37
 F8
 10
 BD
@@ -1112,11 +1112,11 @@ BD
 B5
 00
 F0
-42
+43
 F8
 00
 F0
-30
+31
 F8
 10
 BD
@@ -1132,19 +1132,19 @@ C0
 B2
 00
 F0
-28
+29
 F8
 10
 BD
 FE
 E7
-2E
+2F
 48
 00
 21
 81
 60
-2E
+2F
 49
 01
 61
@@ -1152,12 +1152,14 @@ E7
 21
 81
 60
-2D
+2E
 48
-03
+F0
 21
 01
 61
+03
+21
 81
 60
 2C
@@ -1170,11 +1172,11 @@ E7
 47
 2C
 48
-2A
+2B
 49
 01
 60
-2B
+2C
 49
 81
 61
@@ -1198,13 +1200,13 @@ D0
 20
 88
 61
-21
+22
 48
 00
 21
 81
 60
-30
+F0
 21
 01
 61
@@ -1214,7 +1216,7 @@ D0
 60
 70
 47
-1D
+1E
 49
 8A
 68
@@ -1246,7 +1248,7 @@ D1
 60
 70
 47
-13
+14
 4B
 15
 48
@@ -1327,6 +1329,8 @@ D1
 F7
 E7
 00
+00
+00
 60
 00
 40
@@ -1452,7 +1456,7 @@ FF
 46
 FF
 F7
-C6
+C4
 FD
 00
 28
@@ -1590,7 +1594,7 @@ B5
 E0
 FF
 F7
-09
+07
 FF
 40
 1C
@@ -1610,7 +1614,7 @@ D1
 20
 FF
 F7
-FF
+FD
 FE
 10
 BD
@@ -1828,7 +1832,7 @@ F8
 46
 FF
 F7
-9D
+9B
 FE
 00
 28
@@ -1846,7 +1850,7 @@ BD
 BD
 00
 00
-2F
+2B
 FD
 FF
 FF
@@ -1924,7 +1928,7 @@ B0
 B5
 FF
 F7
-50
+4E
 FE
 60
 BC
@@ -1972,7 +1976,7 @@ C0
 46
 FF
 F7
-D7
+D5
 FC
 10
 BD
@@ -2122,7 +2126,7 @@ BD
 0A
 00
 00
-6C
+70
 08
 00
 00
@@ -2138,7 +2142,7 @@ BD
 01
 00
 00
-80
+84
 08
 00
 00
diff --git a/testcodes/dhry/dhry.hex b/testcodes/dhry/dhry.hex
index f3c1a3500a429dd27172b825bfbfe212d5aae53b..286da478e6b68dad5a0930149225264e635cc70a 100644
--- a/testcodes/dhry/dhry.hex
+++ b/testcodes/dhry/dhry.hex
@@ -2492,7 +2492,7 @@ FA
 20
 00
 F0
-BC
+BD
 F9
 00
 20
@@ -3272,7 +3272,7 @@ C0
 B2
 00
 F0
-36
+37
 F8
 10
 BD
@@ -3280,11 +3280,11 @@ BD
 B5
 00
 F0
-42
+43
 F8
 00
 F0
-30
+31
 F8
 10
 BD
@@ -3300,7 +3300,7 @@ C0
 B2
 00
 F0
-28
+29
 F8
 10
 BD
@@ -3322,13 +3322,15 @@ E7
 60
 27
 48
-03
+F0
 21
 01
 61
+03
+21
 81
 60
-26
+25
 49
 20
 20
@@ -3336,7 +3338,7 @@ E7
 61
 70
 47
-26
+25
 48
 24
 49
@@ -3360,7 +3362,7 @@ C9
 07
 FC
 D0
-1E
+1D
 49
 20
 20
@@ -3372,7 +3374,7 @@ D0
 21
 81
 60
-30
+F0
 21
 01
 61
@@ -3400,7 +3402,7 @@ D1
 60
 70
 47
-11
+10
 4A
 53
 68
@@ -3416,7 +3418,7 @@ D1
 47
 0D
 4B
-0F
+0E
 48
 59
 68
@@ -3469,8 +3471,6 @@ FF
 FE
 E7
 00
-00
-00
 60
 00
 40
diff --git a/testcodes/dma350_tests/dma350_tests.hex b/testcodes/dma350_tests/dma350_tests.hex
index 140f14fdb895dffd7c8b52d0d3f98c537d03e24f..278279d76cae77877ef33383329f81c885f47c5a 100644
--- a/testcodes/dma350_tests/dma350_tests.hex
+++ b/testcodes/dma350_tests/dma350_tests.hex
@@ -322,7 +322,7 @@ B5
 D1
 02
 F0
-6D
+6F
 FC
 10
 BD
@@ -332,7 +332,7 @@ BD
 D1
 02
 F0
-9E
+A0
 FC
 10
 BD
@@ -348,7 +348,7 @@ B5
 99
 02
 F0
-F9
+FB
 FC
 1F
 BD
@@ -358,7 +358,7 @@ B5
 BD
 02
 F0
-E5
+E7
 FD
 11
 46
@@ -372,7 +372,7 @@ F0
 F8
 02
 F0
-FD
+FF
 FD
 03
 B4
@@ -502,7 +502,7 @@ F4
 A0
 02
 F0
-75
+77
 FC
 FE
 4C
@@ -542,11 +542,11 @@ F7
 A0
 02
 F0
-61
+63
 FC
 00
 F0
-C2
+C3
 FD
 00
 E0
@@ -566,7 +566,7 @@ FE
 48
 02
 F0
-55
+57
 FC
 10
 BD
@@ -594,13 +594,13 @@ F7
 48
 02
 F0
-47
+49
 FC
 F7
 A0
 02
 F0
-9E
+A0
 FB
 FB
 48
@@ -698,7 +698,7 @@ C3
 A0
 02
 F0
-13
+15
 FC
 AC
 60
@@ -732,11 +732,11 @@ C8
 A0
 02
 F0
-02
+04
 FC
 00
 F0
-63
+64
 FD
 00
 20
@@ -748,7 +748,7 @@ D9
 A0
 02
 F0
-54
+56
 FB
 0E
 98
@@ -758,7 +758,7 @@ FB
 00
 02
 F0
-F8
+FA
 FA
 00
 24
@@ -790,13 +790,13 @@ D3
 A0
 02
 F0
-3F
+41
 FB
 00
 20
 02
 F0
-BC
+BE
 FA
 06
 46
@@ -804,7 +804,7 @@ FA
 20
 02
 F0
-C2
+C4
 FA
 04
 46
@@ -812,7 +812,7 @@ FA
 20
 02
 F0
-C7
+C9
 FA
 07
 46
@@ -822,7 +822,7 @@ CD
 A0
 02
 F0
-2F
+31
 FB
 21
 46
@@ -830,7 +830,7 @@ D3
 A0
 02
 F0
-2B
+2D
 FB
 39
 46
@@ -838,13 +838,13 @@ DA
 A0
 02
 F0
-27
+29
 FB
 E2
 A0
 02
 F0
-24
+26
 FB
 62
 B6
@@ -852,7 +852,7 @@ ED
 48
 02
 F0
-20
+22
 FB
 00
 20
@@ -880,7 +880,7 @@ A4
 98
 00
 F0
-D4
+D6
 FE
 1C
 99
@@ -914,7 +914,7 @@ C7
 98
 00
 F0
-75
+77
 FF
 00
 23
@@ -926,7 +926,7 @@ FF
 98
 01
 F0
-07
+09
 F8
 00
 22
@@ -936,7 +936,7 @@ F8
 98
 01
 F0
-76
+78
 FA
 01
 20
@@ -960,7 +960,7 @@ A0
 99
 02
 F0
-EA
+EC
 FA
 00
 21
@@ -968,7 +968,7 @@ FA
 98
 00
 F0
-27
+29
 FD
 30
 BF
@@ -976,7 +976,7 @@ DC
 A0
 02
 F0
-E2
+E4
 FA
 00
 21
@@ -984,7 +984,7 @@ FA
 98
 00
 F0
-27
+29
 FD
 01
 28
@@ -994,7 +994,7 @@ DD
 A0
 02
 F0
-D9
+DB
 FA
 00
 27
@@ -1042,7 +1042,7 @@ D7
 A0
 02
 F0
-C1
+C3
 FA
 09
 24
@@ -1090,13 +1090,13 @@ CE
 A0
 02
 F0
-A9
+AB
 FA
 B0
 48
 02
 F0
-A6
+A8
 FA
 00
 20
@@ -1120,7 +1120,7 @@ D9
 98
 00
 F0
-5C
+5E
 FE
 1C
 98
@@ -1154,7 +1154,7 @@ C4
 98
 00
 F0
-FD
+FF
 FE
 00
 23
@@ -1166,7 +1166,7 @@ FE
 98
 00
 F0
-8F
+91
 FF
 A0
 A0
@@ -1174,7 +1174,7 @@ A0
 99
 02
 F0
-7F
+81
 FA
 00
 21
@@ -1182,7 +1182,7 @@ FA
 98
 00
 F0
-BC
+BE
 FC
 00
 21
@@ -1190,7 +1190,7 @@ FC
 98
 00
 F0
-C0
+C2
 FC
 01
 28
@@ -1200,7 +1200,7 @@ AA
 A0
 02
 F0
-72
+74
 FA
 00
 27
@@ -1248,7 +1248,7 @@ A4
 A0
 02
 F0
-5A
+5C
 FA
 09
 24
@@ -1286,7 +1286,7 @@ A9
 48
 02
 F0
-47
+49
 FA
 00
 20
@@ -1310,7 +1310,7 @@ D9
 98
 00
 F0
-FD
+FF
 FD
 16
 98
@@ -1344,7 +1344,7 @@ C4
 98
 00
 F0
-9E
+A0
 FE
 00
 23
@@ -1356,7 +1356,7 @@ FE
 98
 00
 F0
-30
+32
 FF
 70
 A0
@@ -1364,7 +1364,7 @@ A0
 99
 02
 F0
-20
+22
 FA
 00
 21
@@ -1372,7 +1372,7 @@ FA
 98
 00
 F0
-5D
+5F
 FC
 00
 21
@@ -1380,7 +1380,7 @@ FC
 98
 00
 F0
-61
+63
 FC
 01
 28
@@ -1390,7 +1390,7 @@ D0
 A0
 02
 F0
-13
+15
 FA
 00
 27
@@ -1438,7 +1438,7 @@ E0
 A0
 02
 F0
-FB
+FD
 F9
 09
 24
@@ -1976,7 +1976,7 @@ C3
 A0
 02
 F0
-EE
+F0
 F8
 00
 20
@@ -2000,7 +2000,7 @@ D9
 98
 00
 F0
-A4
+A6
 FC
 16
 98
@@ -2026,7 +2026,7 @@ AC
 CC
 00
 F0
-49
+4B
 FD
 00
 23
@@ -2038,7 +2038,7 @@ FD
 98
 00
 F0
-DB
+DD
 FD
 C1
 48
@@ -2046,7 +2046,7 @@ C1
 99
 02
 F0
-CB
+CD
 F8
 00
 21
@@ -2054,7 +2054,7 @@ F8
 98
 00
 F0
-08
+0A
 FB
 00
 21
@@ -2062,7 +2062,7 @@ FB
 98
 00
 F0
-0C
+0E
 FB
 01
 28
@@ -2072,7 +2072,7 @@ BB
 48
 02
 F0
-BE
+C0
 F8
 00
 27
@@ -2120,7 +2120,7 @@ B0
 A0
 02
 F0
-A6
+A8
 F8
 09
 24
@@ -2158,7 +2158,7 @@ A8
 A0
 02
 F0
-93
+95
 F8
 00
 20
@@ -2182,7 +2182,7 @@ D9
 98
 00
 F0
-49
+4B
 FC
 16
 98
@@ -2216,7 +2216,7 @@ C4
 98
 00
 F0
-EA
+EC
 FC
 00
 23
@@ -2228,7 +2228,7 @@ FC
 98
 00
 F0
-7C
+7E
 FD
 00
 22
@@ -2238,7 +2238,7 @@ FD
 98
 01
 F0
-0D
+0F
 FA
 8F
 48
@@ -2246,7 +2246,7 @@ FA
 99
 02
 F0
-67
+69
 F8
 00
 21
@@ -2254,7 +2254,7 @@ F8
 98
 00
 F0
-A4
+A6
 FA
 00
 22
@@ -2264,7 +2264,7 @@ FA
 99
 01
 F0
-3C
+3E
 FA
 00
 22
@@ -2274,7 +2274,7 @@ FA
 99
 01
 F0
-17
+19
 F9
 00
 25
@@ -2290,7 +2290,7 @@ F9
 98
 00
 F0
-9A
+9C
 FA
 64
 1C
@@ -2316,7 +2316,7 @@ D1
 A0
 02
 F0
-44
+46
 F8
 00
 21
@@ -2324,7 +2324,7 @@ F8
 98
 00
 F0
-73
+75
 FE
 C1
 07
@@ -2336,7 +2336,7 @@ C9
 A0
 02
 F0
-3A
+3C
 F8
 A0
 07
@@ -2346,7 +2346,7 @@ C1
 A0
 02
 F0
-35
+37
 F8
 60
 07
@@ -2356,7 +2356,7 @@ C1
 A0
 02
 F0
-30
+32
 F8
 E0
 06
@@ -2366,7 +2366,7 @@ C1
 A0
 02
 F0
-2B
+2D
 F8
 A0
 06
@@ -2376,13 +2376,13 @@ C1
 A0
 02
 F0
-26
+28
 F8
 6D
 48
 02
 F0
-23
+25
 F8
 00
 27
@@ -2434,7 +2434,7 @@ E0
 A0
 02
 F0
-09
+0B
 F8
 09
 24
@@ -2482,7 +2482,7 @@ D0
 A0
 01
 F0
-F1
+F3
 FF
 02
 E0
@@ -2490,17 +2490,17 @@ E0
 A0
 01
 F0
-ED
+EF
 FF
 00
 F0
-F4
+F5
 F9
 17
 98
 01
 F0
-C2
+C4
 FF
 00
 20
@@ -2516,7 +2516,7 @@ B5
 21
 00
 F0
-13
+15
 FE
 C1
 07
@@ -2528,7 +2528,7 @@ D0
 46
 00
 F0
-72
+74
 FE
 10
 BD
@@ -2542,7 +2542,7 @@ D5
 46
 00
 F0
-84
+86
 FE
 10
 BD
@@ -2556,7 +2556,7 @@ D5
 46
 00
 F0
-96
+98
 FE
 10
 BD
@@ -2570,7 +2570,7 @@ D5
 46
 00
 F0
-A8
+AA
 FE
 10
 BD
@@ -2580,7 +2580,7 @@ BD
 A0
 01
 F0
-C0
+C2
 FF
 10
 BD
@@ -2598,7 +2598,7 @@ B6
 46
 00
 F0
-EA
+EC
 FD
 C1
 07
@@ -2610,7 +2610,7 @@ D0
 46
 00
 F0
-49
+4B
 FE
 18
 E0
@@ -2624,7 +2624,7 @@ D5
 46
 00
 F0
-5B
+5D
 FE
 11
 E0
@@ -2638,7 +2638,7 @@ D5
 46
 00
 F0
-6D
+6F
 FE
 0A
 E0
@@ -2652,7 +2652,7 @@ D5
 46
 00
 F0
-7F
+81
 FE
 03
 E0
@@ -2662,7 +2662,7 @@ E0
 A0
 01
 F0
-97
+99
 FF
 20
 68
@@ -2690,7 +2690,7 @@ A8
 A0
 02
 F0
-2F
+31
 F8
 E8
 68
@@ -2706,7 +2706,7 @@ A5
 68
 01
 F0
-81
+83
 FF
 29
 46
@@ -2714,7 +2714,7 @@ FF
 A0
 01
 F0
-7D
+7F
 FF
 70
 48
@@ -2726,11 +2726,11 @@ BD
 A0
 02
 F0
-1D
+1F
 F8
 00
 F0
-7E
+7F
 F9
 FE
 E7
@@ -3308,7 +3308,7 @@ C0
 B2
 00
 F0
-36
+37
 F8
 10
 BD
@@ -3316,11 +3316,11 @@ BD
 B5
 00
 F0
-42
+43
 F8
 00
 F0
-30
+31
 F8
 10
 BD
@@ -3336,19 +3336,19 @@ C0
 B2
 00
 F0
-28
+29
 F8
 10
 BD
 FE
 E7
-2E
+2F
 48
 00
 21
 81
 60
-2E
+2F
 49
 01
 61
@@ -3356,12 +3356,14 @@ E7
 21
 81
 60
-2D
+2E
 48
-03
+F0
 21
 01
 61
+03
+21
 81
 60
 2C
@@ -3374,11 +3376,11 @@ E7
 47
 2C
 48
-2A
+2B
 49
 01
 60
-2B
+2C
 49
 81
 61
@@ -3402,13 +3404,13 @@ D0
 20
 88
 61
-21
+22
 48
 00
 21
 81
 60
-30
+F0
 21
 01
 61
@@ -3418,7 +3420,7 @@ D0
 60
 70
 47
-1D
+1E
 49
 8A
 68
@@ -3450,7 +3452,7 @@ D1
 60
 70
 47
-13
+14
 4B
 15
 48
@@ -3531,6 +3533,8 @@ D1
 F7
 E7
 00
+00
+00
 60
 00
 40
@@ -10740,7 +10744,7 @@ FF
 46
 FD
 F7
-A2
+A0
 FB
 00
 28
@@ -10974,7 +10978,7 @@ F0
 F8
 70
 BD
-0A
+06
 04
 00
 00
@@ -10986,7 +10990,7 @@ B5
 E0
 FE
 F7
-FD
+FB
 F8
 40
 1C
@@ -11006,7 +11010,7 @@ D1
 20
 FE
 F7
-F3
+F1
 F8
 10
 BD
@@ -11388,7 +11392,7 @@ F8
 46
 FE
 F7
-3F
+3D
 F8
 00
 28
@@ -11406,7 +11410,7 @@ BD
 BD
 00
 00
-73
+6F
 E0
 FF
 FF
@@ -11596,7 +11600,7 @@ B0
 B5
 FD
 F7
-BA
+B8
 FF
 60
 BC
@@ -11644,7 +11648,7 @@ C0
 46
 FD
 F7
-FC
+FA
 F9
 10
 BD
@@ -11656,7 +11660,7 @@ B5
 D0
 FD
 F7
-C1
+BF
 FF
 10
 BD
@@ -11756,7 +11760,7 @@ E0
 1C
 FD
 F7
-8A
+88
 FF
 00
 2D
@@ -11774,7 +11778,7 @@ E0
 1C
 FD
 F7
-81
+7F
 FF
 00
 2C
@@ -11790,14 +11794,10 @@ D1
 20
 FD
 F7
-79
+77
 FF
 70
 BD
-00
-00
-00
-00
 10
 F1
 0F
diff --git a/testcodes/dma_tests/dma_tests.hex b/testcodes/dma_tests/dma_tests.hex
index c6226ee50b614413975fb7192c3d79a235c7db45..8961587eabd3061e5978929501ad37d5bd4f2504 100644
--- a/testcodes/dma_tests/dma_tests.hex
+++ b/testcodes/dma_tests/dma_tests.hex
@@ -250,11 +250,11 @@ AB
 43
 18
 47
-7C
+80
 0F
 00
 00
-9C
+A0
 0F
 00
 00
@@ -322,7 +322,7 @@ B5
 D1
 00
 F0
-09
+0B
 FE
 10
 BD
@@ -332,7 +332,7 @@ BD
 D1
 00
 F0
-3A
+3C
 FE
 10
 BD
@@ -350,7 +350,7 @@ B5
 BD
 00
 F0
-0F
+11
 FF
 11
 46
@@ -364,7 +364,7 @@ B4
 FB
 00
 F0
-27
+29
 FF
 03
 B4
@@ -494,13 +494,13 @@ ED
 A0
 00
 F0
-15
+17
 FE
 F0
 A0
 00
 F0
-12
+14
 FE
 E9
 4F
@@ -580,7 +580,7 @@ E7
 A0
 00
 F0
-EA
+EC
 FD
 20
 24
@@ -604,7 +604,7 @@ ED
 A0
 00
 F0
-38
+3A
 FD
 30
 46
@@ -628,7 +628,7 @@ F4
 A0
 00
 F0
-2C
+2E
 FD
 01
 20
@@ -640,7 +640,7 @@ FA
 A0
 00
 F0
-CC
+CE
 FD
 00
 98
@@ -672,13 +672,13 @@ F4
 A0
 00
 F0
-BC
+BE
 FD
 F7
 A0
 00
 F0
-B9
+BB
 FD
 BD
 4F
@@ -792,7 +792,7 @@ BE
 A0
 00
 F0
-DA
+DC
 FC
 01
 20
@@ -818,7 +818,7 @@ D8
 A0
 00
 F0
-73
+75
 FD
 10
 20
@@ -828,7 +828,7 @@ DD
 A0
 00
 F0
-6E
+70
 FD
 97
 49
@@ -930,7 +930,7 @@ C6
 A0
 00
 F0
-3B
+3D
 FD
 20
 20
@@ -958,7 +958,7 @@ C6
 A0
 00
 F0
-87
+89
 FC
 01
 20
@@ -970,7 +970,7 @@ A7
 A0
 00
 F0
-27
+29
 FD
 00
 98
@@ -988,7 +988,7 @@ CA
 A0
 00
 F0
-1E
+20
 FD
 6F
 4F
@@ -1062,7 +1062,7 @@ D0
 A0
 00
 F0
-53
+55
 FC
 01
 20
@@ -1118,7 +1118,7 @@ D0
 A0
 00
 F0
-37
+39
 FC
 38
 46
@@ -1142,7 +1142,7 @@ A8
 A0
 00
 F0
-2B
+2D
 FC
 01
 20
@@ -1154,7 +1154,7 @@ BD
 A0
 00
 F0
-CB
+CD
 FC
 00
 98
@@ -1166,7 +1166,7 @@ AB
 A0
 00
 F0
-C5
+C7
 FC
 43
 4D
@@ -1182,7 +1182,7 @@ A0
 1C
 00
 F0
-17
+19
 FC
 28
 68
@@ -1204,7 +1204,7 @@ AF
 A0
 00
 F0
-B2
+B4
 FC
 28
 68
@@ -1220,7 +1220,7 @@ B4
 A0
 00
 F0
-04
+06
 FC
 00
 2C
@@ -1336,11 +1336,11 @@ A2
 A0
 00
 F0
-70
+72
 FC
 00
 F0
-A7
+A8
 FB
 16
 4D
@@ -1352,7 +1352,7 @@ A0
 61
 00
 F0
-C2
+C4
 FB
 28
 69
@@ -2078,7 +2078,7 @@ FF
 A0
 00
 F0
-57
+59
 FA
 6D
 1C
@@ -2130,7 +2130,7 @@ C6
 A0
 00
 F0
-E3
+E5
 FA
 6D
 4D
@@ -2218,7 +2218,7 @@ D0
 A0
 00
 F0
-11
+13
 FA
 6D
 1C
@@ -2242,11 +2242,11 @@ D0
 A0
 00
 F0
-AB
+AD
 FA
 00
 F0
-E2
+E3
 F9
 28
 46
@@ -2278,7 +2278,7 @@ F9
 48
 00
 F0
-99
+9B
 FA
 FF
 F7
@@ -2332,11 +2332,11 @@ D0
 A0
 00
 F0
-D8
+DA
 F9
 00
 F0
-B5
+B6
 F9
 00
 20
@@ -2346,7 +2346,7 @@ BD
 A0
 00
 F0
-D1
+D3
 F9
 F7
 E7
@@ -2382,11 +2382,11 @@ D1
 A0
 00
 F0
-65
+67
 FA
 00
 F0
-9C
+9D
 F9
 FE
 E7
@@ -2406,11 +2406,11 @@ D1
 A0
 00
 F0
-59
+5B
 FA
 00
 F0
-90
+91
 F9
 FE
 E7
@@ -2432,7 +2432,7 @@ B5
 A0
 00
 F0
-4C
+4E
 FA
 A8
 69
@@ -2448,7 +2448,7 @@ A5
 68
 00
 F0
-9E
+A0
 F9
 29
 46
@@ -2456,7 +2456,7 @@ F9
 A0
 00
 F0
-9A
+9C
 F9
 69
 48
@@ -2468,11 +2468,11 @@ BD
 A0
 00
 F0
-3A
+3C
 FA
 00
 F0
-71
+72
 F9
 FE
 E7
@@ -2526,7 +2526,7 @@ E7
 00
 00
 00
-D8
+DC
 0F
 00
 00
@@ -2634,7 +2634,7 @@ F0
 0A
 00
 00
-20
+24
 10
 00
 00
@@ -3024,7 +3024,7 @@ C0
 B2
 00
 F0
-36
+37
 F8
 10
 BD
@@ -3032,11 +3032,11 @@ BD
 B5
 00
 F0
-42
+43
 F8
 00
 F0
-30
+31
 F8
 10
 BD
@@ -3052,19 +3052,19 @@ C0
 B2
 00
 F0
-28
+29
 F8
 10
 BD
 FE
 E7
-2E
+2F
 48
 00
 21
 81
 60
-2E
+2F
 49
 01
 61
@@ -3072,12 +3072,14 @@ E7
 21
 81
 60
-2D
+2E
 48
-03
+F0
 21
 01
 61
+03
+21
 81
 60
 2C
@@ -3090,11 +3092,11 @@ E7
 47
 2C
 48
-2A
+2B
 49
 01
 60
-2B
+2C
 49
 81
 61
@@ -3118,13 +3120,13 @@ D0
 20
 88
 61
-21
+22
 48
 00
 21
 81
 60
-30
+F0
 21
 01
 61
@@ -3134,7 +3136,7 @@ D0
 60
 70
 47
-1D
+1E
 49
 8A
 68
@@ -3166,7 +3168,7 @@ D1
 60
 70
 47
-13
+14
 4B
 15
 48
@@ -3247,6 +3249,8 @@ D1
 F7
 E7
 00
+00
+00
 60
 00
 40
@@ -3372,7 +3376,7 @@ FF
 46
 FF
 F7
-06
+04
 FA
 00
 28
@@ -3618,7 +3622,7 @@ B5
 E0
 FF
 F7
-D3
+D1
 FE
 40
 1C
@@ -3638,7 +3642,7 @@ D1
 20
 FF
 F7
-C9
+C7
 FE
 10
 BD
@@ -3856,7 +3860,7 @@ F8
 46
 FF
 F7
-67
+65
 FE
 00
 28
@@ -3874,7 +3878,7 @@ BD
 BD
 00
 00
-C3
+BF
 FC
 FF
 FF
@@ -3992,7 +3996,7 @@ B0
 B5
 FF
 F7
-06
+04
 FE
 60
 BC
@@ -4040,7 +4044,7 @@ C0
 46
 FF
 F7
-D2
+D0
 F8
 10
 BD
@@ -4214,7 +4218,7 @@ B1
 00
 00
 00
-98
+9C
 10
 00
 00
@@ -4230,7 +4234,7 @@ B1
 01
 00
 00
-C0
+C4
 10
 00
 00
diff --git a/testcodes/dualtimer_demo/dualtimer_demo.hex b/testcodes/dualtimer_demo/dualtimer_demo.hex
index b6cb43dd5aceb7d8cc6fb4780069de602b8bbe29..470c20809d26aec5c9e94c31f61db086c939e2e0 100644
--- a/testcodes/dualtimer_demo/dualtimer_demo.hex
+++ b/testcodes/dualtimer_demo/dualtimer_demo.hex
@@ -250,11 +250,11 @@ AB
 43
 18
 47
-48
+4C
 12
 00
 00
-68
+6C
 12
 00
 00
@@ -324,7 +324,7 @@ B5
 BD
 01
 F0
-A5
+A7
 F8
 11
 46
@@ -338,7 +338,7 @@ F0
 FD
 01
 F0
-BD
+BF
 F8
 03
 B4
@@ -362,7 +362,7 @@ E4
 A0
 01
 F0
-79
+7B
 F8
 E9
 4D
@@ -416,7 +416,7 @@ E0
 A0
 01
 F0
-5E
+60
 F8
 01
 24
@@ -426,7 +426,7 @@ EA
 A0
 01
 F0
-59
+5B
 F8
 01
 24
@@ -450,7 +450,7 @@ EE
 A0
 01
 F0
-4D
+4F
 F8
 64
 1C
@@ -466,7 +466,7 @@ F4
 A0
 01
 F0
-45
+47
 F8
 64
 1C
@@ -488,7 +488,7 @@ F9
 A0
 01
 F0
-3A
+3C
 F8
 01
 20
@@ -498,7 +498,7 @@ FE
 A0
 01
 F0
-35
+37
 F8
 00
 20
@@ -730,7 +730,7 @@ CF
 A0
 00
 F0
-C1
+C3
 FF
 7D
 20
@@ -760,7 +760,7 @@ D5
 48
 00
 F0
-B2
+B4
 FF
 6D
 1C
@@ -780,7 +780,7 @@ D1
 A0
 00
 F0
-A8
+AA
 FF
 64
 20
@@ -808,7 +808,7 @@ C9
 48
 00
 F0
-9A
+9C
 FF
 6D
 1C
@@ -826,7 +826,7 @@ D2
 A0
 00
 F0
-91
+93
 FF
 75
 4D
@@ -868,7 +868,7 @@ D7
 A0
 00
 F0
-7C
+7E
 FF
 A0
 68
@@ -942,7 +942,7 @@ C6
 A0
 00
 F0
-57
+59
 FF
 7D
 20
@@ -974,7 +974,7 @@ FF
 48
 00
 F0
-47
+49
 FF
 6D
 1C
@@ -992,7 +992,7 @@ C7
 A0
 00
 F0
-3E
+40
 FF
 C8
 20
@@ -1020,7 +1020,7 @@ FF
 48
 00
 F0
-30
+32
 FF
 6D
 1C
@@ -1038,7 +1038,7 @@ C8
 A0
 00
 F0
-27
+29
 FF
 14
 20
@@ -1066,7 +1066,7 @@ FF
 48
 00
 F0
-19
+1B
 FF
 6D
 1C
@@ -1086,7 +1086,7 @@ CA
 A0
 00
 F0
-0F
+11
 FF
 34
 4F
@@ -1130,7 +1130,7 @@ FE
 A0
 00
 F0
-F9
+FB
 FE
 6D
 1C
@@ -1208,7 +1208,7 @@ BA
 A0
 00
 F0
-D2
+D4
 FE
 C6
 48
@@ -1236,7 +1236,7 @@ FE
 48
 00
 F0
-C4
+C6
 FE
 7F
 1C
@@ -1256,7 +1256,7 @@ BD
 A0
 00
 F0
-BA
+BC
 FE
 C8
 20
@@ -2078,7 +2078,7 @@ EB
 48
 00
 F0
-1F
+21
 FD
 7F
 1C
@@ -2100,7 +2100,7 @@ E7
 A0
 00
 F0
-14
+16
 FD
 14
 20
@@ -2128,7 +2128,7 @@ DF
 48
 00
 F0
-06
+08
 FD
 7F
 1C
@@ -2148,7 +2148,7 @@ EA
 A0
 00
 F0
-FC
+FE
 FC
 01
 20
@@ -2188,7 +2188,7 @@ F1
 A0
 00
 F0
-E8
+EA
 FC
 A0
 68
@@ -2262,7 +2262,7 @@ E2
 A0
 00
 F0
-C3
+C5
 FC
 7D
 20
@@ -2292,7 +2292,7 @@ B6
 48
 00
 F0
-B4
+B6
 FC
 7F
 1C
@@ -2312,7 +2312,7 @@ E3
 A0
 00
 F0
-AA
+AC
 FC
 64
 20
@@ -2340,7 +2340,7 @@ AA
 48
 00
 F0
-9C
+9E
 FC
 7F
 1C
@@ -2360,7 +2360,7 @@ E4
 A0
 00
 F0
-92
+94
 FC
 01
 20
@@ -2400,7 +2400,7 @@ BC
 A0
 00
 F0
-7E
+80
 FC
 A0
 68
@@ -2468,7 +2468,7 @@ D8
 A0
 00
 F0
-5C
+5E
 FC
 7D
 20
@@ -2498,7 +2498,7 @@ FC
 48
 00
 F0
-4D
+4F
 FC
 6D
 1C
@@ -2518,7 +2518,7 @@ D8
 A0
 00
 F0
-43
+45
 FC
 C8
 20
@@ -2546,7 +2546,7 @@ FC
 48
 00
 F0
-35
+37
 FC
 6D
 1C
@@ -2564,7 +2564,7 @@ DA
 A0
 00
 F0
-2C
+2E
 FC
 14
 20
@@ -2592,7 +2592,7 @@ FC
 48
 00
 F0
-1E
+20
 FC
 6D
 1C
@@ -2612,7 +2612,7 @@ DC
 A0
 00
 F0
-14
+16
 FC
 88
 4F
@@ -2656,8 +2656,8 @@ FE
 A0
 00
 F0
-FE
-FB
+00
+FC
 6D
 1C
 04
@@ -2732,7 +2732,7 @@ CC
 A0
 00
 F0
-D8
+DA
 FB
 66
 48
@@ -2760,7 +2760,7 @@ FB
 48
 00
 F0
-CA
+CC
 FB
 7F
 1C
@@ -2780,7 +2780,7 @@ CE
 A0
 00
 F0
-C0
+C2
 FB
 C8
 20
@@ -2808,7 +2808,7 @@ FB
 48
 00
 F0
-B2
+B4
 FB
 7F
 1C
@@ -2828,7 +2828,7 @@ D0
 A0
 00
 F0
-A8
+AA
 FB
 14
 20
@@ -2856,7 +2856,7 @@ FB
 48
 00
 F0
-9A
+9C
 FB
 7F
 1C
@@ -2876,7 +2876,7 @@ D3
 A0
 00
 F0
-90
+92
 FB
 01
 20
@@ -2916,7 +2916,7 @@ F5
 A0
 00
 F0
-7C
+7E
 FB
 A0
 68
@@ -2984,7 +2984,7 @@ C9
 48
 00
 F0
-5A
+5C
 FB
 C5
 48
@@ -3786,7 +3786,7 @@ C0
 2F
 00
 40
-E8
+EC
 12
 00
 00
@@ -3794,11 +3794,11 @@ E8
 A0
 00
 F0
-C5
+C7
 F9
 00
 F0
-A2
+A3
 F9
 00
 20
@@ -3808,19 +3808,19 @@ BD
 A0
 00
 F0
-BE
+C0
 F9
 53
 A0
 00
 F0
-BB
+BD
 F9
 54
 A0
 00
 F0
-B8
+BA
 F9
 5B
 4C
@@ -3864,19 +3864,19 @@ F9
 A0
 00
 F0
-A2
+A4
 F9
 51
 A0
 00
 F0
-9F
+A1
 F9
 46
 A0
 00
 F0
-9C
+9E
 F9
 50
 4C
@@ -3920,19 +3920,19 @@ F9
 A0
 00
 F0
-86
+88
 F9
 46
 A0
 00
 F0
-83
+85
 F9
 38
 A0
 00
 F0
-80
+82
 F9
 FF
 F7
@@ -3942,11 +3942,11 @@ F9
 A0
 00
 F0
-7B
+7D
 F9
 00
 F0
-58
+59
 F9
 00
 20
@@ -3984,7 +3984,7 @@ E0
 A0
 00
 F0
-66
+68
 F9
 70
 BD
@@ -4014,11 +4014,11 @@ D1
 A0
 00
 F0
-57
+59
 F9
 00
 F0
-34
+35
 F9
 70
 6B
@@ -4046,11 +4046,11 @@ D1
 A0
 00
 F0
-47
+49
 F9
 00
 F0
-24
+25
 F9
 70
 BD
@@ -4448,7 +4448,7 @@ C0
 B2
 00
 F0
-36
+37
 F8
 10
 BD
@@ -4456,11 +4456,11 @@ BD
 B5
 00
 F0
-42
+43
 F8
 00
 F0
-30
+31
 F8
 10
 BD
@@ -4476,19 +4476,19 @@ C0
 B2
 00
 F0
-28
+29
 F8
 10
 BD
 FE
 E7
-2E
+2F
 48
 00
 21
 81
 60
-2E
+2F
 49
 01
 61
@@ -4496,12 +4496,14 @@ E7
 21
 81
 60
-2D
+2E
 48
-03
+F0
 21
 01
 61
+03
+21
 81
 60
 2C
@@ -4514,11 +4516,11 @@ E7
 47
 2C
 48
-2A
+2B
 49
 01
 60
-2B
+2C
 49
 81
 61
@@ -4542,13 +4544,13 @@ D0
 20
 88
 61
-21
+22
 48
 00
 21
 81
 60
-30
+F0
 21
 01
 61
@@ -4558,7 +4560,7 @@ D0
 60
 70
 47
-1D
+1E
 49
 8A
 68
@@ -4590,7 +4592,7 @@ D1
 60
 70
 47
-13
+14
 4B
 15
 48
@@ -4671,6 +4673,8 @@ D1
 F7
 E7
 00
+00
+00
 60
 00
 40
@@ -4710,7 +4714,7 @@ B5
 E0
 FF
 F7
-79
+77
 FF
 40
 1C
@@ -4730,7 +4734,7 @@ D1
 20
 FF
 F7
-6F
+6D
 FF
 10
 BD
@@ -4778,7 +4782,7 @@ B0
 B5
 FF
 F7
-45
+43
 FF
 60
 BC
@@ -4826,7 +4830,7 @@ C0
 46
 FE
 F7
-3C
+3A
 FF
 10
 BD
@@ -4930,7 +4934,7 @@ BD
 24
 0A
 00
-64
+68
 13
 00
 00
@@ -4946,7 +4950,7 @@ BD
 01
 00
 00
-7C
+80
 13
 00
 00
diff --git a/testcodes/gpio_driver_tests/gpio_driver_tests.hex b/testcodes/gpio_driver_tests/gpio_driver_tests.hex
index 7da9c8a73fb7d168908d56b2492c47212cc72c90..062a8bda0fcca9911808f2b51f5bcef8d776710e 100644
--- a/testcodes/gpio_driver_tests/gpio_driver_tests.hex
+++ b/testcodes/gpio_driver_tests/gpio_driver_tests.hex
@@ -250,11 +250,11 @@ AB
 43
 18
 47
-D8
+DC
 15
 00
 00
-F8
+FC
 15
 00
 00
@@ -322,7 +322,7 @@ B5
 D1
 01
 F0
-2B
+2D
 F9
 10
 BD
@@ -334,7 +334,7 @@ BD
 B5
 01
 F0
-7D
+7F
 F9
 1F
 BD
@@ -344,7 +344,7 @@ B5
 BD
 01
 F0
-08
+0A
 FA
 11
 46
@@ -358,7 +358,7 @@ E0
 FC
 01
 F0
-20
+22
 FA
 03
 B4
@@ -456,7 +456,7 @@ F7
 48
 01
 F0
-63
+65
 F8
 F5
 48
@@ -466,13 +466,13 @@ F5
 A0
 01
 F0
-0F
+11
 F9
 FD
 A0
 01
 F0
-0C
+0E
 F9
 01
 22
@@ -488,7 +488,7 @@ EF
 92
 01
 F0
-82
+84
 F8
 BF
 F3
@@ -522,7 +522,7 @@ E7
 9A
 01
 F0
-71
+73
 F8
 BF
 F3
@@ -554,7 +554,7 @@ DF
 92
 01
 F0
-61
+63
 F8
 BF
 F3
@@ -610,7 +610,7 @@ E8
 48
 01
 F0
-57
+59
 F8
 09
 98
@@ -624,7 +624,7 @@ E6
 A0
 01
 F0
-C0
+C2
 F8
 00
 20
@@ -638,7 +638,7 @@ EE
 48
 01
 F0
-CF
+D1
 F8
 00
 25
@@ -666,7 +666,7 @@ C2
 48
 01
 F0
-29
+2B
 F8
 C1
 48
@@ -696,7 +696,7 @@ BB
 48
 01
 F0
-1A
+1C
 F8
 6D
 1C
@@ -766,7 +766,7 @@ AA
 46
 00
 F0
-F7
+F9
 FF
 28
 68
@@ -806,7 +806,7 @@ D0
 46
 00
 F0
-E3
+E5
 FF
 00
 21
@@ -816,7 +816,7 @@ FF
 9A
 00
 F0
-DE
+E0
 FF
 00
 24
@@ -842,7 +842,7 @@ BC
 48
 00
 F0
-E3
+E5
 FF
 09
 98
@@ -870,7 +870,7 @@ B6
 A0
 01
 F0
-45
+47
 F8
 80
 E7
@@ -882,7 +882,7 @@ C3
 A0
 01
 F0
-3F
+41
 F8
 09
 98
@@ -892,7 +892,7 @@ D0
 A0
 01
 F0
-3A
+3C
 F8
 00
 20
@@ -916,13 +916,13 @@ A0
 94
 01
 F0
-2E
+30
 F8
 DC
 A0
 01
 F0
-2B
+2D
 F8
 81
 4E
@@ -936,7 +936,7 @@ F8
 49
 00
 F0
-73
+75
 FF
 29
 46
@@ -946,7 +946,7 @@ FF
 46
 00
 F0
-89
+8B
 FF
 29
 46
@@ -954,7 +954,7 @@ FF
 46
 00
 F0
-76
+78
 FF
 6D
 1C
@@ -982,7 +982,7 @@ DB
 46
 00
 F0
-6D
+6F
 FF
 39
 6A
@@ -1014,7 +1014,7 @@ D3
 46
 00
 F0
-62
+64
 FF
 38
 6A
@@ -1074,7 +1074,7 @@ C4
 A0
 00
 F0
-6F
+71
 FF
 00
 24
@@ -1086,7 +1086,7 @@ CE
 A0
 00
 F0
-D9
+DB
 FF
 00
 20
@@ -1104,7 +1104,7 @@ FF
 48
 00
 F0
-3F
+41
 FF
 6D
 1C
@@ -1122,7 +1122,7 @@ DB
 46
 00
 F0
-27
+29
 FF
 39
 6A
@@ -1158,7 +1158,7 @@ B0
 46
 00
 F0
-1A
+1C
 FF
 38
 6A
@@ -1204,7 +1204,7 @@ BB
 A0
 00
 F0
-9E
+A0
 FF
 C0
 E7
@@ -1226,7 +1226,7 @@ C0
 A0
 00
 F0
-23
+25
 FF
 00
 24
@@ -1238,7 +1238,7 @@ CA
 A0
 00
 F0
-8D
+8F
 FF
 00
 20
@@ -1258,7 +1258,7 @@ FF
 46
 00
 F0
-FC
+FE
 FE
 76
 1C
@@ -1276,7 +1276,7 @@ DB
 46
 00
 F0
-DA
+DC
 FE
 39
 6A
@@ -1312,7 +1312,7 @@ A9
 46
 00
 F0
-CD
+CF
 FE
 38
 6A
@@ -1358,7 +1358,7 @@ B7
 A0
 00
 F0
-51
+53
 FF
 BF
 E7
@@ -1380,7 +1380,7 @@ BD
 A0
 00
 F0
-D6
+D8
 FE
 00
 24
@@ -1392,7 +1392,7 @@ C7
 A0
 00
 F0
-40
+42
 FF
 00
 20
@@ -1418,7 +1418,7 @@ CE
 48
 00
 F0
-A7
+A9
 FE
 6D
 1C
@@ -1538,7 +1538,7 @@ FF
 00
 00
 00
-48
+4C
 16
 00
 00
@@ -1594,7 +1594,7 @@ E1
 C3
 D5
 02
-90
+94
 16
 00
 00
@@ -2232,7 +2232,7 @@ FF
 00
 00
 F0
-FC
+FE
 FC
 39
 6A
@@ -2268,7 +2268,7 @@ B6
 46
 00
 F0
-EF
+F1
 FC
 38
 6A
@@ -2316,7 +2316,7 @@ AA
 A0
 00
 F0
-72
+74
 FD
 2D
 E6
@@ -2338,7 +2338,7 @@ AF
 A0
 00
 F0
-F7
+F9
 FC
 40
 20
@@ -2362,7 +2362,7 @@ B9
 46
 00
 F0
-B6
+B8
 FC
 64
 1C
@@ -2380,7 +2380,7 @@ B4
 A0
 00
 F0
-52
+54
 FD
 EB
 E7
@@ -2394,13 +2394,13 @@ BB
 A0
 00
 F0
-4B
+4D
 FD
 C7
 A0
 00
 F0
-48
+4A
 FD
 91
 49
@@ -2408,7 +2408,7 @@ D2
 48
 00
 F0
-9B
+9D
 FC
 01
 24
@@ -2422,13 +2422,13 @@ D0
 46
 00
 F0
-92
+94
 FC
 30
 46
 00
 F0
-93
+95
 FC
 2A
 26
@@ -2456,7 +2456,7 @@ C6
 48
 00
 F0
-85
+87
 FC
 01
 46
@@ -2464,7 +2464,7 @@ C5
 A0
 00
 F0
-B8
+BA
 FC
 00
 2D
@@ -2476,7 +2476,7 @@ CD
 A0
 00
 F0
-B2
+B4
 FC
 02
 E0
@@ -2484,13 +2484,13 @@ D6
 A0
 00
 F0
-1E
+20
 FD
 DA
 A0
 00
 F0
-1B
+1D
 FD
 00
 27
@@ -2508,13 +2508,13 @@ B9
 48
 00
 F0
-69
+6B
 FC
 B7
 48
 00
 F0
-68
+6A
 FC
 2A
 21
@@ -2542,7 +2542,7 @@ B0
 48
 00
 F0
-5A
+5C
 FC
 01
 46
@@ -2550,7 +2550,7 @@ D9
 A0
 00
 F0
-8D
+8F
 FC
 00
 2D
@@ -2562,7 +2562,7 @@ E1
 A0
 00
 F0
-87
+89
 FC
 02
 20
@@ -2572,7 +2572,7 @@ EB
 A0
 00
 F0
-F2
+F4
 FC
 00
 20
@@ -2588,13 +2588,13 @@ EE
 A0
 00
 F0
-EA
+EC
 FC
 F5
 A0
 00
 F0
-E7
+E9
 FC
 FE
 48
@@ -2614,13 +2614,13 @@ FC
 46
 00
 F0
-2C
+2E
 FC
 30
 46
 00
 F0
-2D
+2F
 FC
 B8
 42
@@ -2654,7 +2654,7 @@ F0
 48
 00
 F0
-1C
+1E
 FC
 01
 46
@@ -2662,7 +2662,7 @@ EF
 A0
 00
 F0
-55
+57
 FC
 00
 27
@@ -2676,7 +2676,7 @@ D0
 A0
 00
 F0
-4E
+50
 FC
 02
 E0
@@ -2684,13 +2684,13 @@ A4
 A0
 00
 F0
-BA
+BC
 FC
 F0
 A0
 00
 F0
-B7
+B9
 FC
 01
 25
@@ -2704,13 +2704,13 @@ E5
 46
 00
 F0
-01
+03
 FC
 30
 46
 00
 F0
-00
+02
 FC
 F4
 49
@@ -2748,7 +2748,7 @@ D9
 48
 00
 F0
-ED
+EF
 FB
 01
 46
@@ -2756,7 +2756,7 @@ D8
 A0
 00
 F0
-26
+28
 FC
 00
 2C
@@ -2768,7 +2768,7 @@ E8
 A0
 00
 F0
-20
+22
 FC
 01
 20
@@ -2778,7 +2778,7 @@ F3
 A0
 00
 F0
-8B
+8D
 FC
 00
 20
@@ -2862,7 +2862,7 @@ EB
 48
 00
 F0
-61
+63
 FC
 E8
 48
@@ -2894,11 +2894,11 @@ E4
 A0
 00
 F0
-51
+53
 FC
 00
 F0
-E6
+E7
 FA
 00
 20
@@ -2934,11 +2934,11 @@ E3
 A0
 00
 F0
-3D
+3F
 FC
 00
 F0
-D2
+D3
 FA
 00
 20
@@ -3802,7 +3802,7 @@ C0
 0F
 01
 40
-EC
+F0
 15
 00
 00
@@ -3882,11 +3882,11 @@ EC
 A0
 00
 F0
-F3
+F5
 F9
 00
 F0
-F8
+F9
 F8
 20
 46
@@ -3896,7 +3896,7 @@ BD
 A0
 00
 F0
-5C
+5E
 FA
 F7
 E7
@@ -4030,7 +4030,7 @@ A4
 68
 00
 F0
-74
+76
 F9
 70
 BD
@@ -4196,7 +4196,7 @@ C0
 B2
 00
 F0
-36
+37
 F8
 10
 BD
@@ -4204,11 +4204,11 @@ BD
 B5
 00
 F0
-42
+43
 F8
 00
 F0
-30
+31
 F8
 10
 BD
@@ -4224,19 +4224,19 @@ C0
 B2
 00
 F0
-28
+29
 F8
 10
 BD
 FE
 E7
-2E
+2F
 48
 00
 21
 81
 60
-2E
+2F
 49
 01
 61
@@ -4244,12 +4244,14 @@ E7
 21
 81
 60
-2D
+2E
 48
-03
+F0
 21
 01
 61
+03
+21
 81
 60
 2C
@@ -4262,11 +4264,11 @@ E7
 47
 2C
 48
-2A
+2B
 49
 01
 60
-2B
+2C
 49
 81
 61
@@ -4290,13 +4292,13 @@ D0
 20
 88
 61
-21
+22
 48
 00
 21
 81
 60
-30
+F0
 21
 01
 61
@@ -4306,7 +4308,7 @@ D0
 60
 70
 47
-1D
+1E
 49
 8A
 68
@@ -4338,7 +4340,7 @@ D1
 60
 70
 47
-13
+14
 4B
 15
 48
@@ -4419,6 +4421,8 @@ D1
 F7
 E7
 00
+00
+00
 60
 00
 40
@@ -4976,7 +4980,7 @@ FF
 46
 FE
 F7
-E4
+E2
 FE
 00
 28
@@ -5114,7 +5118,7 @@ B5
 E0
 FF
 F7
-31
+2F
 FE
 40
 1C
@@ -5134,7 +5138,7 @@ D1
 20
 FF
 F7
-27
+25
 FE
 10
 BD
@@ -5412,7 +5416,7 @@ F8
 46
 FF
 F7
-A7
+A5
 FD
 00
 28
@@ -5430,7 +5434,7 @@ BD
 BD
 00
 00
-43
+3F
 FB
 FF
 FF
@@ -5508,7 +5512,7 @@ B0
 B5
 FF
 F7
-5A
+58
 FD
 60
 BC
@@ -5556,7 +5560,7 @@ C0
 46
 FE
 F7
-D9
+D7
 FD
 10
 BD
@@ -5842,7 +5846,7 @@ BD
 00
 00
 00
-F4
+F8
 16
 00
 00
@@ -5858,7 +5862,7 @@ F4
 01
 00
 00
-04
+08
 17
 00
 00
diff --git a/testcodes/hello/hello.hex b/testcodes/hello/hello.hex
index b45557f13dcd7c698d5076038220ffafb3f11c52..aa74156488dca4d0eef91bdca5a7690482b01f8a 100644
--- a/testcodes/hello/hello.hex
+++ b/testcodes/hello/hello.hex
@@ -250,11 +250,11 @@ AB
 43
 18
 47
-F4
+F8
 02
 00
 00
-14
+18
 03
 00
 00
@@ -324,7 +324,7 @@ B5
 BD
 00
 F0
-16
+18
 F9
 11
 46
@@ -338,7 +338,7 @@ F0
 F8
 00
 F0
-40
+42
 F9
 03
 B4
@@ -364,17 +364,17 @@ F8
 A0
 00
 F0
-C4
+C6
 F8
 07
 A0
 00
 F0
-C1
+C3
 F8
 00
 F0
-9E
+9F
 F8
 00
 20
@@ -504,7 +504,7 @@ C0
 B2
 00
 F0
-36
+37
 F8
 10
 BD
@@ -512,11 +512,11 @@ BD
 B5
 00
 F0
-42
+43
 F8
 00
 F0
-30
+31
 F8
 10
 BD
@@ -532,19 +532,19 @@ C0
 B2
 00
 F0
-28
+29
 F8
 10
 BD
 FE
 E7
-2E
+2F
 48
 00
 21
 81
 60
-2E
+2F
 49
 01
 61
@@ -552,12 +552,14 @@ E7
 21
 81
 60
-2D
+2E
 48
-03
+F0
 21
 01
 61
+03
+21
 81
 60
 2C
@@ -570,11 +572,11 @@ E7
 47
 2C
 48
-2A
+2B
 49
 01
 60
-2B
+2C
 49
 81
 61
@@ -598,13 +600,13 @@ D0
 20
 88
 61
-21
+22
 48
 00
 21
 81
 60
-30
+F0
 21
 01
 61
@@ -614,7 +616,7 @@ D0
 60
 70
 47
-1D
+1E
 49
 8A
 68
@@ -646,7 +648,7 @@ D1
 60
 70
 47
-13
+14
 4B
 15
 48
@@ -727,6 +729,8 @@ D1
 F7
 E7
 00
+00
+00
 60
 00
 40
@@ -812,7 +816,7 @@ F8
 46
 FF
 F7
-6D
+6B
 FF
 00
 28
@@ -830,7 +834,7 @@ BD
 BD
 00
 00
-CF
+CB
 FE
 FF
 FF
@@ -908,7 +912,7 @@ B0
 B5
 FF
 F7
-20
+1E
 FF
 60
 BC
@@ -992,7 +996,7 @@ C0
 46
 FF
 F7
-B9
+B7
 FE
 10
 BD
@@ -1006,7 +1010,7 @@ BD
 00
 00
 30
-10
+14
 04
 00
 00
@@ -1022,7 +1026,7 @@ BD
 01
 00
 00
-18
+1C
 04
 00
 00
diff --git a/testcodes/interrupt_demo/interrupt_demo.hex b/testcodes/interrupt_demo/interrupt_demo.hex
index c02852af1bab0e3ece6ddb51a81d5fb2dd1e3f54..538713e08a4b86594bcc4b86b6a293df4f6d30da 100644
--- a/testcodes/interrupt_demo/interrupt_demo.hex
+++ b/testcodes/interrupt_demo/interrupt_demo.hex
@@ -250,11 +250,11 @@ AB
 43
 18
 47
-64
+68
 10
 00
 00
-84
+88
 10
 00
 00
@@ -322,7 +322,7 @@ B5
 D1
 00
 F0
-47
+49
 FE
 10
 BD
@@ -332,7 +332,7 @@ BD
 D1
 00
 F0
-78
+7A
 FE
 10
 BD
@@ -342,7 +342,7 @@ BD
 D1
 00
 F0
-23
+25
 FF
 10
 BD
@@ -360,7 +360,7 @@ B5
 BD
 00
 F0
-5E
+60
 FF
 11
 46
@@ -374,7 +374,7 @@ F0
 F9
 00
 F0
-76
+78
 FF
 03
 B4
@@ -402,43 +402,43 @@ AB
 A0
 00
 F0
-81
+83
 FE
 AB
 A0
 00
 F0
-7E
+80
 FE
 B0
 A0
 00
 F0
-7B
+7D
 FE
 B6
 A0
 00
 F0
-78
+7A
 FE
 BB
 A0
 00
 F0
-75
+77
 FE
 AC
 A0
 00
 F0
-72
+74
 FE
 BF
 A0
 00
 F0
-6F
+71
 FE
 C7
 4F
@@ -448,7 +448,7 @@ C5
 46
 00
 F0
-59
+5B
 FD
 0A
 20
@@ -460,7 +460,7 @@ FD
 46
 00
 F0
-6E
+70
 FD
 01
 21
@@ -468,7 +468,7 @@ FD
 46
 00
 F0
-74
+76
 FD
 02
 21
@@ -476,7 +476,7 @@ FD
 46
 00
 F0
-6B
+6D
 FD
 03
 21
@@ -484,7 +484,7 @@ FD
 46
 00
 F0
-71
+73
 FD
 01
 21
@@ -536,7 +536,7 @@ B3
 48
 00
 F0
-6E
+70
 FD
 40
 20
@@ -550,7 +550,7 @@ AD
 46
 00
 F0
-37
+39
 FD
 76
 1C
@@ -568,7 +568,7 @@ AC
 A0
 00
 F0
-2E
+30
 FE
 B1
 48
@@ -584,7 +584,7 @@ B0
 A0
 00
 F0
-26
+28
 FE
 AD
 48
@@ -610,7 +610,7 @@ B5
 A0
 00
 F0
-19
+1B
 FE
 A7
 48
@@ -624,7 +624,7 @@ B9
 A0
 00
 F0
-12
+14
 FE
 A3
 48
@@ -648,7 +648,7 @@ BF
 A0
 00
 F0
-06
+08
 FE
 9D
 48
@@ -662,8 +662,8 @@ C2
 A0
 00
 F0
-FF
-FD
+01
+FE
 9A
 48
 C7
@@ -686,7 +686,7 @@ C8
 A0
 00
 F0
-F3
+F5
 FD
 94
 48
@@ -700,7 +700,7 @@ CC
 A0
 00
 F0
-EC
+EE
 FD
 90
 48
@@ -724,7 +724,7 @@ D2
 A0
 00
 F0
-10
+12
 FD
 00
 2C
@@ -736,7 +736,7 @@ D6
 A0
 00
 F0
-0A
+0C
 FD
 01
 21
@@ -770,43 +770,43 @@ BD
 A0
 00
 F0
-C9
+CB
 FD
 D9
 A0
 00
 F0
-C6
+C8
 FD
 DE
 A0
 00
 F0
-C3
+C5
 FD
 E4
 A0
 00
 F0
-C0
+C2
 FD
 E9
 A0
 00
 F0
-BD
+BF
 FD
 DA
 A0
 00
 F0
-BA
+BC
 FD
 ED
 A0
 00
 F0
-B7
+B9
 FD
 DB
 E7
@@ -838,37 +838,37 @@ ED
 A0
 00
 F0
-A7
+A9
 FD
 ED
 A0
 00
 F0
-A4
+A6
 FD
 F2
 A0
 00
 F0
-A1
+A3
 FD
 F8
 A0
 00
 F0
-9E
+A0
 FD
 EF
 A0
 00
 F0
-9B
+9D
 FD
 FC
 A0
 00
 F0
-98
+9A
 FD
 FF
 21
@@ -888,7 +888,7 @@ FF
 05
 00
 F0
-05
+07
 FC
 61
 48
@@ -910,7 +910,7 @@ F9
 A0
 00
 F0
-83
+85
 FD
 00
 20
@@ -948,7 +948,7 @@ F6
 48
 00
 F0
-70
+72
 FD
 F3
 48
@@ -968,7 +968,7 @@ F2
 A0
 00
 F0
-66
+68
 FD
 01
 E0
@@ -994,7 +994,7 @@ F6
 A0
 00
 F0
-59
+5B
 FD
 01
 E0
@@ -1006,11 +1006,11 @@ FE
 A0
 00
 F0
-53
+55
 FD
 00
 F0
-88
+89
 FB
 00
 20
@@ -1024,31 +1024,31 @@ B0
 A0
 00
 F0
-4A
+4C
 FD
 16
 A0
 00
 F0
-47
+49
 FD
 FC
 A0
 00
 F0
-44
+46
 FD
 13
 A0
 00
 F0
-41
+43
 FD
 27
 A0
 00
 F0
-3E
+40
 FD
 0F
 21
@@ -1056,7 +1056,7 @@ FE
 48
 00
 F0
-2F
+31
 FC
 01
 20
@@ -1250,7 +1250,7 @@ E0
 E1
 00
 E0
-B4
+B8
 10
 00
 00
@@ -1930,7 +1930,7 @@ C0
 0F
 00
 40
-04
+08
 11
 00
 00
@@ -2086,7 +2086,7 @@ C0
 48
 00
 F0
-CF
+D1
 F9
 5A
 4C
@@ -2100,7 +2100,7 @@ F9
 A0
 00
 F0
-60
+62
 FA
 20
 68
@@ -2114,7 +2114,7 @@ FA
 48
 00
 F0
-F3
+F5
 F9
 20
 68
@@ -2134,7 +2134,7 @@ D1
 A0
 00
 F0
-4F
+51
 FA
 5D
 48
@@ -2198,7 +2198,7 @@ B5
 46
 00
 F0
-E8
+EA
 F9
 3E
 4C
@@ -2218,7 +2218,7 @@ D2
 46
 00
 F0
-BF
+C1
 F9
 20
 68
@@ -2236,13 +2236,13 @@ B5
 46
 00
 F0
-D8
+DA
 F9
 20
 46
 00
 F0
-B8
+BA
 F9
 33
 49
@@ -2274,19 +2274,19 @@ B5
 46
 00
 F0
-3E
+40
 F9
 20
 46
 00
 F0
-48
+4A
 F9
 3B
 A0
 00
 F0
-D3
+D5
 FA
 10
 BD
@@ -2308,7 +2308,7 @@ C8
 21
 00
 F0
-C3
+C5
 F9
 10
 BD
@@ -2330,7 +2330,7 @@ C8
 21
 00
 F0
-B8
+BA
 F9
 10
 BD
@@ -2348,7 +2348,7 @@ C8
 48
 00
 F0
-AF
+B1
 F9
 10
 BD
@@ -2366,7 +2366,7 @@ C8
 48
 00
 F0
-A6
+A8
 F9
 10
 BD
@@ -2396,7 +2396,7 @@ D0
 21
 00
 F0
-97
+99
 F9
 A0
 6B
@@ -2414,7 +2414,7 @@ D5
 21
 00
 F0
-8E
+90
 F9
 A0
 6B
@@ -2428,7 +2428,7 @@ D5
 46
 00
 F0
-87
+89
 F9
 A1
 6B
@@ -2442,7 +2442,7 @@ D5
 21
 00
 F0
-80
+82
 F9
 10
 BD
@@ -2454,7 +2454,7 @@ BD
 00
 00
 30
-80
+84
 10
 00
 00
@@ -2632,7 +2632,7 @@ C0
 B2
 00
 F0
-36
+37
 F8
 10
 BD
@@ -2640,11 +2640,11 @@ BD
 B5
 00
 F0
-42
+43
 F8
 00
 F0
-30
+31
 F8
 10
 BD
@@ -2660,19 +2660,19 @@ C0
 B2
 00
 F0
-28
+29
 F8
 10
 BD
 FE
 E7
-2E
+2F
 48
 00
 21
 81
 60
-2E
+2F
 49
 01
 61
@@ -2680,12 +2680,14 @@ E7
 21
 81
 60
-2D
+2E
 48
-03
+F0
 21
 01
 61
+03
+21
 81
 60
 2C
@@ -2698,11 +2700,11 @@ E7
 47
 2C
 48
-2A
+2B
 49
 01
 60
-2B
+2C
 49
 81
 61
@@ -2726,13 +2728,13 @@ D0
 20
 88
 61
-21
+22
 48
 00
 21
 81
 60
-30
+F0
 21
 01
 61
@@ -2742,7 +2744,7 @@ D0
 60
 70
 47
-1D
+1E
 49
 8A
 68
@@ -2774,7 +2776,7 @@ D1
 60
 70
 47
-13
+14
 4B
 15
 48
@@ -2855,6 +2857,8 @@ D1
 F7
 E7
 00
+00
+00
 60
 00
 40
@@ -3412,7 +3416,7 @@ FF
 46
 FF
 F7
-F2
+F0
 F9
 00
 28
@@ -3742,7 +3746,7 @@ B5
 E0
 FF
 F7
-D1
+CF
 FD
 40
 1C
@@ -3762,7 +3766,7 @@ D1
 20
 FF
 F7
-C7
+C5
 FD
 10
 BD
@@ -4024,7 +4028,7 @@ F8
 46
 FF
 F7
-4F
+4D
 FD
 00
 28
@@ -4042,7 +4046,7 @@ BD
 BD
 00
 00
-93
+8F
 FA
 FF
 FF
@@ -4160,7 +4164,7 @@ B0
 B5
 FF
 F7
-EE
+EC
 FC
 60
 BC
@@ -4208,7 +4212,7 @@ C0
 46
 FF
 F7
-83
+81
 F8
 10
 BD
@@ -4446,7 +4450,7 @@ BD
 0A
 00
 00
-80
+84
 11
 00
 00
@@ -4462,7 +4466,7 @@ BD
 01
 00
 00
-98
+9C
 11
 00
 00
diff --git a/testcodes/memory_tests/memory_tests.hex b/testcodes/memory_tests/memory_tests.hex
index a4eb28524bdcc5bb41d91bb261a44f4667801cb4..d9c2338b3934839185c7c801bc7115f6be29080c 100644
--- a/testcodes/memory_tests/memory_tests.hex
+++ b/testcodes/memory_tests/memory_tests.hex
@@ -250,11 +250,11 @@ AB
 43
 18
 47
-80
+84
 10
 00
 00
-A0
+A4
 10
 00
 00
@@ -322,7 +322,7 @@ B5
 D1
 00
 F0
-01
+03
 FF
 10
 BD
@@ -340,7 +340,7 @@ B5
 BD
 00
 F0
-C2
+C4
 FF
 11
 46
@@ -354,7 +354,7 @@ F0
 FC
 00
 F0
-DA
+DC
 FF
 03
 B4
@@ -722,7 +722,7 @@ C2
 A0
 00
 F0
-F5
+F7
 FD
 01
 24
@@ -732,7 +732,7 @@ CA
 A0
 00
 F0
-60
+62
 FE
 20
 46
@@ -818,7 +818,7 @@ BD
 A0
 00
 F0
-C5
+C7
 FD
 6D
 1C
@@ -842,7 +842,7 @@ C3
 A0
 00
 F0
-29
+2B
 FE
 01
 20
@@ -862,7 +862,7 @@ C9
 A0
 00
 F0
-AF
+B1
 FD
 6D
 1C
@@ -874,7 +874,7 @@ D4
 A0
 00
 F0
-19
+1B
 FE
 02
 20
@@ -886,7 +886,7 @@ DD
 A0
 00
 F0
-13
+15
 FE
 00
 20
@@ -956,7 +956,7 @@ D0
 A0
 00
 F0
-80
+82
 FD
 00
 98
@@ -984,7 +984,7 @@ A0
 A0
 00
 F0
-E2
+E4
 FD
 01
 20
@@ -1004,7 +1004,7 @@ B4
 A0
 00
 F0
-D8
+DA
 FD
 02
 20
@@ -1016,7 +1016,7 @@ BD
 A0
 00
 F0
-D2
+D4
 FD
 00
 20
@@ -1032,13 +1032,13 @@ C4
 A0
 00
 F0
-CA
+CC
 FD
 C8
 A0
 00
 F0
-C7
+C9
 FD
 CD
 4E
@@ -1060,7 +1060,7 @@ CB
 A0
 00
 F0
-BC
+BE
 FD
 CF
 49
@@ -1082,7 +1082,7 @@ CC
 A0
 00
 F0
-B1
+B3
 FD
 D3
 49
@@ -1104,7 +1104,7 @@ D1
 A0
 00
 F0
-A6
+A8
 FD
 FF
 F7
@@ -1122,7 +1122,7 @@ D6
 A0
 00
 F0
-9D
+9F
 FD
 DB
 4C
@@ -1234,7 +1234,7 @@ C2
 A0
 00
 F0
-F5
+F7
 FC
 00
 20
@@ -1274,7 +1274,7 @@ B8
 A0
 00
 F0
-E1
+E3
 FC
 76
 1C
@@ -1314,7 +1314,7 @@ BD
 A0
 00
 F0
-3D
+3F
 FD
 00
 2D
@@ -1324,7 +1324,7 @@ CA
 A0
 00
 F0
-38
+3A
 FD
 29
 46
@@ -1332,7 +1332,7 @@ CB
 A0
 00
 F0
-C4
+C6
 FC
 01
 20
@@ -1342,7 +1342,7 @@ CD
 A0
 00
 F0
-2F
+31
 FD
 00
 20
@@ -1354,7 +1354,7 @@ CD
 A0
 00
 F0
-29
+2B
 FD
 A1
 4C
@@ -1386,7 +1386,7 @@ CA
 A0
 00
 F0
-19
+1B
 FD
 21
 46
@@ -1394,7 +1394,7 @@ CB
 A0
 00
 F0
-A5
+A7
 FC
 01
 20
@@ -1404,7 +1404,7 @@ CE
 A0
 00
 F0
-10
+12
 FD
 00
 20
@@ -1416,7 +1416,7 @@ CE
 A0
 00
 F0
-0A
+0C
 FD
 91
 4C
@@ -1866,7 +1866,7 @@ FF
 00
 01
 40
-34
+38
 11
 00
 00
@@ -1934,7 +1934,7 @@ FF
 F0
 01
 40
-44
+48
 11
 00
 00
@@ -2270,7 +2270,7 @@ B7
 A0
 00
 F0
-5F
+61
 FB
 00
 20
@@ -2310,7 +2310,7 @@ B5
 48
 00
 F0
-4B
+4D
 FB
 21
 46
@@ -2318,7 +2318,7 @@ B4
 48
 00
 F0
-D7
+D9
 FA
 01
 20
@@ -2328,7 +2328,7 @@ B3
 48
 00
 F0
-42
+44
 FB
 00
 20
@@ -2342,7 +2342,7 @@ B0
 A0
 00
 F0
-3B
+3D
 FB
 B3
 4D
@@ -2406,7 +2406,7 @@ DD
 48
 00
 F0
-1B
+1D
 FB
 21
 46
@@ -2414,7 +2414,7 @@ FB
 48
 00
 F0
-A7
+A9
 FA
 01
 20
@@ -2424,7 +2424,7 @@ BD
 48
 00
 F0
-12
+14
 FB
 00
 20
@@ -2544,7 +2544,7 @@ D0
 A0
 00
 F0
-66
+68
 FA
 20
 46
@@ -2558,7 +2558,7 @@ B5
 A0
 00
 F0
-CF
+D1
 FA
 03
 20
@@ -2604,7 +2604,7 @@ DD
 48
 00
 F0
-B8
+BA
 FA
 21
 46
@@ -2612,7 +2612,7 @@ FA
 48
 00
 F0
-44
+46
 FA
 01
 20
@@ -2622,7 +2622,7 @@ BD
 48
 00
 F0
-AF
+B1
 FA
 00
 20
@@ -2640,13 +2640,13 @@ F9
 A0
 00
 F0
-A6
+A8
 FA
 86
 A0
 00
 F0
-A3
+A5
 FA
 67
 48
@@ -2664,7 +2664,7 @@ C5
 A0
 00
 F0
-9A
+9C
 FA
 03
 20
@@ -2710,7 +2710,7 @@ DD
 48
 00
 F0
-83
+85
 FA
 31
 46
@@ -2718,7 +2718,7 @@ FA
 48
 00
 F0
-0F
+11
 FA
 01
 24
@@ -2728,7 +2728,7 @@ E0
 48
 00
 F0
-7A
+7C
 FA
 00
 26
@@ -2736,7 +2736,7 @@ FA
 A0
 00
 F0
-76
+78
 FA
 00
 20
@@ -2794,7 +2794,7 @@ DD
 48
 00
 F0
-59
+5B
 FA
 31
 46
@@ -2802,7 +2802,7 @@ FA
 48
 00
 F0
-E5
+E7
 F9
 3C
 43
@@ -2812,7 +2812,7 @@ E0
 48
 00
 F0
-50
+52
 FA
 FF
 F7
@@ -2830,7 +2830,7 @@ D0
 48
 00
 F0
-47
+49
 FA
 00
 20
@@ -2860,7 +2860,7 @@ D0
 48
 00
 F0
-38
+3A
 FA
 29
 46
@@ -2868,7 +2868,7 @@ FA
 48
 00
 F0
-C4
+C6
 F9
 08
 20
@@ -2880,7 +2880,7 @@ E0
 48
 00
 F0
-2E
+30
 FA
 FF
 F7
@@ -2904,11 +2904,11 @@ D0
 A0
 00
 F0
-B2
+B4
 F9
 00
 F0
-8F
+90
 F9
 00
 20
@@ -2918,7 +2918,7 @@ BD
 A0
 00
 F0
-AB
+AD
 F9
 F7
 E7
@@ -2944,7 +2944,7 @@ D0
 A0
 00
 F0
-0E
+10
 FA
 A0
 68
@@ -2966,7 +2966,7 @@ D0
 A0
 00
 F0
-93
+95
 F9
 20
 68
@@ -2980,7 +2980,7 @@ D0
 A0
 00
 F0
-8C
+8E
 F9
 62
 48
@@ -2992,11 +2992,11 @@ BD
 A0
 00
 F0
-F6
+F8
 F9
 00
 F0
-63
+64
 F9
 FE
 E7
@@ -3520,7 +3520,7 @@ C0
 B2
 00
 F0
-36
+37
 F8
 10
 BD
@@ -3528,11 +3528,11 @@ BD
 B5
 00
 F0
-42
+43
 F8
 00
 F0
-30
+31
 F8
 10
 BD
@@ -3548,19 +3548,19 @@ C0
 B2
 00
 F0
-28
+29
 F8
 10
 BD
 FE
 E7
-2E
+2F
 48
 00
 21
 81
 60
-2E
+2F
 49
 01
 61
@@ -3568,12 +3568,14 @@ E7
 21
 81
 60
-2D
+2E
 48
-03
+F0
 21
 01
 61
+03
+21
 81
 60
 2C
@@ -3586,11 +3588,11 @@ E7
 47
 2C
 48
-2A
+2B
 49
 01
 60
-2B
+2C
 49
 81
 61
@@ -3614,13 +3616,13 @@ D0
 20
 88
 61
-21
+22
 48
 00
 21
 81
 60
-30
+F0
 21
 01
 61
@@ -3630,7 +3632,7 @@ D0
 60
 70
 47
-1D
+1E
 49
 8A
 68
@@ -3662,7 +3664,7 @@ D1
 60
 70
 47
-13
+14
 4B
 15
 48
@@ -3743,6 +3745,8 @@ D1
 F7
 E7
 00
+00
+00
 60
 00
 40
@@ -3868,7 +3872,7 @@ FF
 46
 FF
 F7
-0E
+0C
 F9
 00
 28
@@ -4006,7 +4010,7 @@ B5
 E0
 FF
 F7
-09
+07
 FF
 40
 1C
@@ -4026,7 +4030,7 @@ D1
 20
 FF
 F7
-FF
+FD
 FE
 10
 BD
@@ -4244,7 +4248,7 @@ F8
 46
 FF
 F7
-9D
+9B
 FE
 00
 28
@@ -4262,7 +4266,7 @@ BD
 BD
 00
 00
-2F
+2B
 FD
 FF
 FF
@@ -4340,7 +4344,7 @@ B0
 B5
 FF
 F7
-50
+4E
 FE
 60
 BC
@@ -4388,7 +4392,7 @@ C0
 46
 FF
 F7
-1F
+1D
 F8
 10
 BD
@@ -4474,7 +4478,7 @@ B1
 30
 78
 00
-9C
+A0
 11
 00
 00
@@ -4490,7 +4494,7 @@ B1
 01
 00
 00
-B4
+B8
 11
 00
 00
diff --git a/testcodes/romtable_tests/romtable_tests.hex b/testcodes/romtable_tests/romtable_tests.hex
index 83dcf62acf3e629c47784a54f2b7d46bf9fd7b60..bde6a68c6b5d9a10b72bea2e6bc03b213a31ad84 100644
--- a/testcodes/romtable_tests/romtable_tests.hex
+++ b/testcodes/romtable_tests/romtable_tests.hex
@@ -250,11 +250,11 @@ AB
 43
 18
 47
-80
+84
 19
 00
 00
-A0
+A4
 19
 00
 00
@@ -322,7 +322,7 @@ B5
 D1
 01
 F0
-6D
+6F
 F8
 10
 BD
@@ -332,7 +332,7 @@ BD
 D1
 01
 F0
-9E
+A0
 F8
 10
 BD
@@ -342,7 +342,7 @@ BD
 D1
 01
 F0
-E5
+E7
 F9
 10
 BD
@@ -360,7 +360,7 @@ B5
 BD
 01
 F0
-20
+22
 FA
 11
 46
@@ -374,7 +374,7 @@ CF
 FB
 01
 F0
-38
+3A
 FA
 03
 B4
@@ -472,7 +472,7 @@ A3
 48
 00
 F0
-C4
+C6
 FF
 00
 2C
@@ -484,7 +484,7 @@ A1
 48
 00
 F0
-BE
+C0
 FF
 00
 98
@@ -498,7 +498,7 @@ D0
 A0
 00
 F0
-B7
+B9
 FF
 01
 98
@@ -522,7 +522,7 @@ A8
 A0
 00
 F0
-AB
+AD
 FF
 03
 B0
@@ -532,7 +532,7 @@ AF
 A0
 01
 F0
-02
+04
 F9
 03
 B0
@@ -548,7 +548,7 @@ B0
 A0
 00
 F0
-9E
+A0
 FF
 61
 7C
@@ -556,7 +556,7 @@ B8
 A0
 00
 F0
-9A
+9C
 FF
 61
 8A
@@ -564,7 +564,7 @@ BF
 A0
 00
 F0
-96
+98
 FF
 21
 7D
@@ -572,7 +572,7 @@ C6
 A0
 00
 F0
-92
+94
 FF
 61
 7D
@@ -580,7 +580,7 @@ CD
 A0
 00
 F0
-8E
+90
 FF
 A1
 7D
@@ -588,7 +588,7 @@ D4
 A0
 00
 F0
-8A
+8C
 FF
 10
 BD
@@ -620,7 +620,7 @@ D6
 A0
 00
 F0
-7A
+7C
 FF
 05
 E0
@@ -634,7 +634,7 @@ D5
 A0
 01
 F0
-CF
+D1
 F8
 20
 46
@@ -664,7 +664,7 @@ D5
 A0
 00
 F0
-64
+66
 FF
 E0
 68
@@ -686,7 +686,7 @@ DE
 A0
 00
 F0
-59
+5B
 FF
 00
 20
@@ -722,7 +722,7 @@ BC
 A0
 00
 F0
-47
+49
 FF
 38
 BD
@@ -736,7 +736,7 @@ BC
 A0
 01
 F0
-9C
+9E
 F8
 38
 BD
@@ -758,7 +758,7 @@ DA
 A0
 01
 F0
-91
+93
 F8
 20
 46
@@ -770,7 +770,7 @@ DD
 A0
 01
 F0
-8B
+8D
 F8
 65
 76
@@ -780,7 +780,7 @@ E4
 A0
 01
 F0
-86
+88
 F8
 20
 46
@@ -798,7 +798,7 @@ E4
 48
 01
 F0
-7D
+7F
 F8
 65
 76
@@ -828,7 +828,7 @@ DE
 A0
 00
 F0
-12
+14
 FF
 00
 20
@@ -870,7 +870,7 @@ E2
 A0
 01
 F0
-59
+5B
 F8
 38
 BD
@@ -878,7 +878,7 @@ E5
 A0
 01
 F0
-55
+57
 F8
 01
 20
@@ -892,7 +892,7 @@ A0
 6A
 00
 F0
-F2
+F4
 FE
 38
 BD
@@ -904,7 +904,7 @@ F8
 A0
 01
 F0
-48
+4A
 F8
 38
 BD
@@ -930,7 +930,7 @@ D1
 20
 00
 F0
-4D
+4F
 FE
 28
 68
@@ -1092,7 +1092,7 @@ D2
 48
 00
 F0
-EA
+EC
 FF
 17
 48
@@ -1122,11 +1122,11 @@ EC
 00
 00
 30
-24
+28
 17
 00
 00
-E0
+E4
 16
 00
 00
@@ -1710,7 +1710,7 @@ E0
 00
 00
 00
-68
+6C
 17
 00
 00
@@ -1930,7 +1930,7 @@ FA
 10
 05
 B1
-94
+98
 16
 00
 00
@@ -1970,7 +1970,7 @@ D1
 48
 00
 F0
-D7
+D9
 FC
 00
 20
@@ -2006,7 +2006,7 @@ E0
 A0
 00
 F0
-21
+23
 FE
 70
 68
@@ -2022,7 +2022,7 @@ BD
 A0
 00
 F0
-19
+1B
 FE
 70
 68
@@ -2074,8 +2074,8 @@ A6
 48
 00
 F0
-FF
-FD
+01
+FE
 70
 68
 40
@@ -2102,7 +2102,7 @@ D1
 20
 00
 F0
-03
+05
 FC
 38
 68
@@ -2220,7 +2220,7 @@ D9
 A0
 00
 F0
-B6
+B8
 FD
 01
 98
@@ -2258,7 +2258,7 @@ A0
 20
 00
 F0
-B5
+B7
 FB
 30
 68
@@ -2278,7 +2278,7 @@ FB
 A0
 00
 F0
-3D
+3F
 FC
 00
 2E
@@ -2298,7 +2298,7 @@ E7
 A0
 00
 F0
-8F
+91
 FD
 03
 B0
@@ -2350,23 +2350,23 @@ A1
 A0
 00
 F0
-19
+1B
 FC
 00
 F0
-2B
+2D
 FB
 8E
 A0
 00
 F0
-70
+72
 FD
 01
 20
 00
 F0
-7F
+81
 FB
 37
 4D
@@ -2378,7 +2378,7 @@ D0
 A0
 00
 F0
-67
+69
 FD
 68
 68
@@ -2390,7 +2390,7 @@ FD
 20
 00
 F0
-73
+75
 FB
 00
 28
@@ -2400,7 +2400,7 @@ D0
 A0
 00
 F0
-5C
+5E
 FD
 68
 68
@@ -2420,7 +2420,7 @@ F8
 20
 00
 F0
-64
+66
 FB
 20
 68
@@ -2430,7 +2430,7 @@ FB
 A0
 00
 F0
-F1
+F3
 FB
 20
 68
@@ -2444,13 +2444,13 @@ FF
 A0
 00
 F0
-46
+48
 FD
 03
 20
 00
 F0
-55
+57
 FB
 FF
 F7
@@ -2458,7 +2458,7 @@ F7
 FB
 00
 F0
-25
+27
 FB
 00
 20
@@ -2478,7 +2478,7 @@ D1
 A0
 00
 F0
-D9
+DB
 FB
 10
 BD
@@ -2492,7 +2492,7 @@ BD
 A0
 00
 F0
-D2
+D4
 FB
 17
 48
@@ -2522,7 +2522,7 @@ D0
 A0
 00
 F0
-C3
+C5
 FB
 10
 48
@@ -2558,7 +2558,7 @@ D1
 A0
 00
 F0
-B1
+B3
 FB
 60
 68
@@ -2578,7 +2578,7 @@ D0
 A0
 00
 F0
-A7
+A9
 FB
 60
 68
@@ -2594,7 +2594,7 @@ BD
 00
 00
 30
-4C
+50
 16
 00
 00
@@ -2738,7 +2738,7 @@ D0
 00
 00
 00
-94
+98
 16
 00
 00
@@ -3292,7 +3292,7 @@ C0
 B2
 00
 F0
-36
+37
 F8
 10
 BD
@@ -3300,11 +3300,11 @@ BD
 B5
 00
 F0
-42
+43
 F8
 00
 F0
-30
+31
 F8
 10
 BD
@@ -3320,19 +3320,19 @@ C0
 B2
 00
 F0
-28
+29
 F8
 10
 BD
 FE
 E7
-2E
+2F
 48
 00
 21
 81
 60
-2E
+2F
 49
 01
 61
@@ -3340,12 +3340,14 @@ E7
 21
 81
 60
-2D
+2E
 48
-03
+F0
 21
 01
 61
+03
+21
 81
 60
 2C
@@ -3358,11 +3360,11 @@ E7
 47
 2C
 48
-2A
+2B
 49
 01
 60
-2B
+2C
 49
 81
 61
@@ -3386,13 +3388,13 @@ D0
 20
 88
 61
-21
+22
 48
 00
 21
 81
 60
-30
+F0
 21
 01
 61
@@ -3402,7 +3404,7 @@ D0
 60
 70
 47
-1D
+1E
 49
 8A
 68
@@ -3434,7 +3436,7 @@ D1
 60
 70
 47
-13
+14
 4B
 15
 48
@@ -3515,6 +3517,8 @@ D1
 F7
 E7
 00
+00
+00
 60
 00
 40
@@ -3998,13 +4002,13 @@ FF
 20
 FF
 F7
-D5
+D4
 FE
 11
 20
 FF
 F7
-D2
+D1
 FE
 36
 A0
@@ -4050,7 +4054,7 @@ F0
 FA
 FF
 F7
-E2
+E1
 FE
 20
 68
@@ -4076,17 +4080,17 @@ B5
 20
 FF
 F7
-AE
+AD
 FE
 12
 20
 FF
 F7
-AB
+AA
 FE
 FF
 F7
-D0
+CF
 FE
 10
 BD
@@ -5090,7 +5094,7 @@ C0
 46
 FE
 F7
-AB
+A9
 FE
 00
 28
@@ -5154,7 +5158,7 @@ B5
 E0
 FF
 F7
-59
+57
 FC
 40
 1C
@@ -5174,7 +5178,7 @@ D1
 20
 FF
 F7
-4F
+4D
 FC
 10
 BD
@@ -5436,7 +5440,7 @@ F8
 46
 FF
 F7
-D7
+D5
 FB
 00
 28
@@ -5454,7 +5458,7 @@ BD
 BD
 00
 00
-A3
+9F
 F7
 FF
 FF
@@ -5572,7 +5576,7 @@ B0
 B5
 FF
 F7
-76
+74
 FB
 60
 BC
@@ -5620,7 +5624,7 @@ C0
 46
 FE
 F7
-C1
+BF
 FD
 10
 BD
@@ -6778,7 +6782,7 @@ D2
 6F
 72
 00
-9C
+A0
 1A
 00
 00
@@ -6794,7 +6798,7 @@ D0
 01
 00
 00
-6C
+70
 1B
 00
 00
@@ -6822,7 +6826,7 @@ C8
 00
 00
 00
-7C
+80
 18
 00
 00
@@ -6830,7 +6834,7 @@ C8
 00
 00
 00
-BC
+C0
 18
 00
 00
@@ -6838,7 +6842,7 @@ BC
 00
 00
 00
-04
+08
 19
 00
 00
@@ -6846,7 +6850,7 @@ BC
 04
 00
 00
-2C
+30
 1A
 00
 00
@@ -6854,7 +6858,7 @@ C2
 04
 00
 00
-9C
+A0
 19
 00
 00
@@ -6862,7 +6866,7 @@ C0
 04
 00
 00
-14
+18
 1A
 00
 00
@@ -6870,7 +6874,7 @@ C1
 04
 00
 00
-74
+78
 19
 00
 00
@@ -6878,7 +6882,7 @@ A6
 09
 00
 00
-DC
+E0
 17
 00
 00
@@ -6886,7 +6890,7 @@ DC
 09
 00
 00
-20
+24
 19
 00
 00
@@ -6894,7 +6898,7 @@ DC
 04
 00
 00
-40
+44
 1A
 00
 00
@@ -6902,7 +6906,7 @@ DC
 00
 00
 00
-9C
+A0
 18
 00
 00
@@ -6910,7 +6914,7 @@ DC
 00
 00
 00
-5C
+60
 18
 00
 00
@@ -6918,7 +6922,7 @@ DC
 00
 00
 00
-30
+34
 18
 00
 00
@@ -6926,7 +6930,7 @@ DC
 00
 00
 00
-E0
+E4
 18
 00
 00
@@ -6934,7 +6938,7 @@ E0
 00
 00
 00
-B8
+BC
 17
 00
 00
@@ -6942,7 +6946,7 @@ C3
 04
 00
 00
-54
+58
 1A
 00
 00
@@ -6950,7 +6954,7 @@ C5
 04
 00
 00
-C4
+C8
 19
 00
 00
@@ -6958,7 +6962,7 @@ C4
 09
 00
 00
-54
+58
 19
 00
 00
@@ -6966,7 +6970,7 @@ C4
 09
 00
 00
-34
+38
 19
 00
 00
@@ -6974,7 +6978,7 @@ C4
 04
 00
 00
-68
+6C
 1A
 00
 00
@@ -6982,7 +6986,7 @@ C6
 04
 00
 00
-EC
+F0
 19
 00
 00
@@ -6990,7 +6994,7 @@ EC
 09
 00
 00
-44
+48
 19
 00
 00
@@ -6998,7 +7002,7 @@ A1
 09
 00
 00
-64
+68
 19
 00
 00
@@ -7006,7 +7010,7 @@ A1
 09
 00
 00
-08
+0C
 18
 00
 00
diff --git a/testcodes/self_reset_demo/self_reset_demo.hex b/testcodes/self_reset_demo/self_reset_demo.hex
index 6f91c150d1e7673b0427b8811a30a70d957760a9..f4b52cd65d8ca3be5d350845c9614eb52d3380a8 100644
--- a/testcodes/self_reset_demo/self_reset_demo.hex
+++ b/testcodes/self_reset_demo/self_reset_demo.hex
@@ -250,11 +250,11 @@ AB
 43
 18
 47
-58
+5C
 09
 00
 00
-78
+7C
 09
 00
 00
@@ -322,7 +322,7 @@ B5
 D1
 00
 F0
-25
+27
 FB
 10
 BD
@@ -340,7 +340,7 @@ B5
 BD
 00
 F0
-E6
+E8
 FB
 11
 46
@@ -354,8 +354,8 @@ F0
 F8
 00
 F0
-FE
-FB
+00
+FC
 03
 B4
 FF
@@ -374,7 +374,7 @@ FA
 A0
 00
 F0
-37
+39
 FB
 BF
 F3
@@ -400,7 +400,7 @@ B5
 A0
 00
 F0
-2A
+2C
 FB
 77
 4E
@@ -412,7 +412,7 @@ A0
 46
 00
 F0
-B4
+B6
 FA
 04
 2D
@@ -424,7 +424,7 @@ D0
 A0
 00
 F0
-1E
+20
 FB
 04
 20
@@ -438,7 +438,7 @@ A0
 46
 00
 F0
-A7
+A9
 FA
 00
 2D
@@ -458,17 +458,17 @@ E0
 A0
 00
 F0
-0D
+0F
 FB
 8C
 A0
 00
 F0
-0A
+0C
 FB
 00
 F0
-77
+78
 FA
 70
 BD
@@ -480,7 +480,7 @@ B5
 A0
 00
 F0
-02
+04
 FB
 63
 4C
@@ -492,7 +492,7 @@ A0
 46
 00
 F0
-8C
+8E
 FA
 01
 2E
@@ -504,7 +504,7 @@ D0
 A0
 00
 F0
-F6
+F8
 FA
 01
 26
@@ -518,7 +518,7 @@ A0
 46
 00
 F0
-7F
+81
 FA
 00
 2F
@@ -538,7 +538,7 @@ E0
 A0
 00
 F0
-E5
+E7
 FA
 A6
 60
@@ -552,11 +552,11 @@ D0
 A0
 00
 F0
-DE
+E0
 FA
 00
 F0
-4B
+4C
 FA
 20
 69
@@ -568,11 +568,11 @@ D0
 A0
 00
 F0
-D6
+D8
 FA
 00
 F0
-43
+44
 FA
 8E
 48
@@ -582,11 +582,11 @@ FA
 A0
 00
 F0
-CF
+D1
 FA
 00
 F0
-3C
+3D
 FA
 F8
 BD
@@ -628,7 +628,7 @@ F9
 48
 00
 F0
-B8
+BA
 FA
 89
 48
@@ -654,11 +654,11 @@ D0
 A0
 00
 F0
-AB
+AD
 FA
 00
 F0
-18
+19
 FA
 00
 20
@@ -668,7 +668,7 @@ BD
 A0
 00
 F0
-A4
+A6
 FA
 34
 48
@@ -682,7 +682,7 @@ D0
 A0
 00
 F0
-9D
+9F
 FA
 FF
 F7
@@ -700,7 +700,7 @@ D5
 A0
 00
 F0
-94
+96
 FA
 FF
 F7
@@ -708,8 +708,8 @@ F7
 FF
 00
 F0
-FF
-F9
+00
+FA
 FE
 E7
 00
@@ -722,21 +722,21 @@ D5
 A0
 00
 F0
-89
+8B
 FA
 99
 48
 00
 F0
-86
+88
 FA
 00
 F0
-F3
+F4
 F9
 00
 F0
-F1
+F2
 F9
 00
 20
@@ -746,13 +746,13 @@ BD
 A0
 00
 F0
-7D
+7F
 FA
 0D
 A0
 00
 F0
-7A
+7C
 FA
 BF
 F3
@@ -776,13 +776,13 @@ B5
 A0
 00
 F0
-6E
+70
 FA
 98
 A0
 00
 F0
-6B
+6D
 FA
 5A
 48
@@ -794,11 +794,11 @@ FA
 A0
 00
 F0
-65
+67
 FA
 00
 F0
-D2
+D3
 F9
 08
 BD
@@ -1186,7 +1186,7 @@ C0
 FF
 01
 40
-A4
+A8
 09
 00
 00
@@ -1338,7 +1338,7 @@ A4
 65
 74
 00
-00
+04
 0A
 00
 00
@@ -1544,7 +1544,7 @@ C0
 B2
 00
 F0
-36
+37
 F8
 10
 BD
@@ -1552,11 +1552,11 @@ BD
 B5
 00
 F0
-42
+43
 F8
 00
 F0
-30
+31
 F8
 10
 BD
@@ -1572,19 +1572,19 @@ C0
 B2
 00
 F0
-28
+29
 F8
 10
 BD
 FE
 E7
-2E
+2F
 48
 00
 21
 81
 60
-2E
+2F
 49
 01
 61
@@ -1592,12 +1592,14 @@ E7
 21
 81
 60
-2D
+2E
 48
-03
+F0
 21
 01
 61
+03
+21
 81
 60
 2C
@@ -1610,11 +1612,11 @@ E7
 47
 2C
 48
-2A
+2B
 49
 01
 60
-2B
+2C
 49
 81
 61
@@ -1638,13 +1640,13 @@ D0
 20
 88
 61
-21
+22
 48
 00
 21
 81
 60
-30
+F0
 21
 01
 61
@@ -1654,7 +1656,7 @@ D0
 60
 70
 47
-1D
+1E
 49
 8A
 68
@@ -1686,7 +1688,7 @@ D1
 60
 70
 47
-13
+14
 4B
 15
 48
@@ -1767,6 +1769,8 @@ D1
 F7
 E7
 00
+00
+00
 60
 00
 40
@@ -1892,7 +1896,7 @@ FF
 46
 FF
 F7
-EA
+E8
 FC
 00
 28
@@ -2030,7 +2034,7 @@ B5
 E0
 FF
 F7
-09
+07
 FF
 40
 1C
@@ -2050,7 +2054,7 @@ D1
 20
 FF
 F7
-FF
+FD
 FE
 10
 BD
@@ -2268,7 +2272,7 @@ F8
 46
 FF
 F7
-9D
+9B
 FE
 00
 28
@@ -2286,7 +2290,7 @@ BD
 BD
 00
 00
-2F
+2B
 FD
 FF
 FF
@@ -2364,7 +2368,7 @@ B0
 B5
 FF
 F7
-50
+4E
 FE
 60
 BC
@@ -2412,7 +2416,7 @@ C0
 46
 FF
 F7
-FB
+F9
 FB
 10
 BD
@@ -2642,7 +2646,7 @@ BD
 00
 00
 00
-74
+78
 0A
 00
 00
@@ -2658,7 +2662,7 @@ BD
 01
 00
 00
-7C
+80
 0A
 00
 00
diff --git a/testcodes/sleep_demo/sleep_demo.hex b/testcodes/sleep_demo/sleep_demo.hex
index 1a18793ec23d0b21dcba974dd08a9041a74738da..0c2445787257dda8c8c5f0c3ac7aab6d47511429 100644
--- a/testcodes/sleep_demo/sleep_demo.hex
+++ b/testcodes/sleep_demo/sleep_demo.hex
@@ -250,11 +250,11 @@ AB
 43
 18
 47
-88
+8C
 0A
 00
 00
-A8
+AC
 0A
 00
 00
@@ -324,7 +324,7 @@ B5
 BD
 00
 F0
-B4
+B6
 FC
 11
 46
@@ -338,7 +338,7 @@ F0
 F8
 00
 F0
-DE
+E0
 FC
 03
 B4
@@ -386,7 +386,7 @@ E9
 48
 00
 F0
-4F
+51
 FC
 E7
 48
@@ -406,11 +406,11 @@ E5
 A0
 00
 F0
-45
+47
 FC
 00
 F0
-3C
+3D
 FB
 00
 20
@@ -420,7 +420,7 @@ EC
 A0
 00
 F0
-3E
+40
 FC
 EE
 4E
@@ -448,7 +448,7 @@ F0
 46
 00
 F0
-69
+6B
 FB
 E9
 48
@@ -460,13 +460,13 @@ BF
 46
 00
 F0
-51
+53
 FB
 20
 46
 00
 F0
-44
+46
 FB
 E6
 4C
@@ -480,7 +480,7 @@ E5
 A0
 00
 F0
-20
+22
 FC
 FF
 25
@@ -498,7 +498,7 @@ E5
 A0
 00
 F0
-17
+19
 FC
 DB
 48
@@ -528,7 +528,7 @@ F0
 46
 00
 F0
-41
+43
 FB
 D5
 48
@@ -554,19 +554,19 @@ D0
 46
 00
 F0
-22
+24
 FB
 28
 46
 00
 F0
-15
+17
 FB
 CF
 A0
 00
 F0
-F5
+F7
 FB
 00
 20
@@ -576,7 +576,7 @@ D6
 A0
 00
 F0
-F0
+F2
 FB
 C7
 4F
@@ -622,7 +622,7 @@ C4
 46
 00
 F0
-12
+14
 FB
 BE
 48
@@ -640,7 +640,7 @@ D0
 07
 00
 F0
-F7
+F9
 FA
 01
 20
@@ -648,7 +648,7 @@ FA
 07
 00
 F0
-E9
+EB
 FA
 00
 20
@@ -670,7 +670,7 @@ C3
 A0
 00
 F0
-C1
+C3
 FB
 B0
 48
@@ -698,7 +698,7 @@ C0
 05
 00
 F0
-EC
+EE
 FA
 AB
 48
@@ -710,7 +710,7 @@ BF
 05
 00
 F0
-D4
+D6
 FA
 01
 20
@@ -718,7 +718,7 @@ FA
 07
 00
 F0
-C6
+C8
 FA
 20
 68
@@ -730,7 +730,7 @@ A6
 A0
 00
 F0
-A3
+A5
 FB
 A9
 48
@@ -744,7 +744,7 @@ B6
 A0
 00
 F0
-9C
+9E
 FB
 9D
 48
@@ -772,7 +772,7 @@ C0
 05
 00
 F0
-C7
+C9
 FA
 98
 48
@@ -798,7 +798,7 @@ D0
 07
 00
 F0
-A8
+AA
 FA
 01
 20
@@ -806,13 +806,13 @@ FA
 07
 00
 F0
-9A
+9C
 FA
 92
 A0
 00
 F0
-7A
+7C
 FB
 26
 60
@@ -820,7 +820,7 @@ A8
 A0
 00
 F0
-76
+78
 FB
 8A
 48
@@ -864,7 +864,7 @@ FB
 07
 00
 F0
-99
+9B
 FA
 81
 48
@@ -884,13 +884,13 @@ BF
 46
 00
 F0
-7D
+7F
 FA
 38
 46
 00
 F0
-70
+72
 FA
 26
 60
@@ -910,7 +910,7 @@ FA
 A0
 00
 F0
-49
+4B
 FB
 9F
 48
@@ -928,7 +928,7 @@ D0
 A0
 00
 F0
-40
+42
 FB
 38
 69
@@ -950,7 +950,7 @@ C0
 05
 00
 F0
-6E
+70
 FA
 6C
 48
@@ -962,13 +962,13 @@ BF
 05
 00
 F0
-56
+58
 FA
 B8
 05
 00
 F0
-49
+4B
 FA
 20
 68
@@ -980,7 +980,7 @@ D0
 A0
 00
 F0
-26
+28
 FB
 6A
 48
@@ -992,7 +992,7 @@ FB
 A0
 00
 F0
-20
+22
 FB
 38
 69
@@ -1016,7 +1016,7 @@ C0
 05
 00
 F0
-4D
+4F
 FA
 5B
 48
@@ -1034,7 +1034,7 @@ E0
 A0
 00
 F0
-0B
+0D
 FB
 33
 E0
@@ -1052,7 +1052,7 @@ D0
 07
 00
 F0
-29
+2B
 FA
 01
 20
@@ -1060,13 +1060,13 @@ FA
 07
 00
 F0
-1B
+1D
 FA
 52
 A0
 00
 F0
-FB
+FD
 FA
 26
 60
@@ -1074,7 +1074,7 @@ FA
 A0
 00
 F0
-F7
+F9
 FA
 38
 69
@@ -1102,7 +1102,7 @@ C0
 05
 00
 F0
-22
+24
 FA
 46
 48
@@ -1120,7 +1120,7 @@ D0
 07
 00
 F0
-07
+09
 FA
 01
 20
@@ -1128,7 +1128,7 @@ FA
 07
 00
 F0
-F9
+FB
 F9
 26
 60
@@ -1156,13 +1156,13 @@ D0
 A0
 00
 F0
-CE
+D0
 FA
 86
 A0
 00
 F0
-CB
+CD
 FA
 38
 69
@@ -1186,7 +1186,7 @@ F0
 46
 00
 F0
-F8
+FA
 F9
 31
 48
@@ -1198,13 +1198,13 @@ BF
 46
 00
 F0
-E0
+E2
 F9
 38
 46
 00
 F0
-D3
+D5
 F9
 20
 68
@@ -1216,7 +1216,7 @@ D0
 A0
 00
 F0
-B0
+B2
 FA
 2F
 48
@@ -1228,11 +1228,11 @@ FA
 A0
 00
 F0
-9C
+9E
 FA
 00
 F0
-A1
+A2
 F9
 00
 20
@@ -1248,7 +1248,7 @@ AD
 46
 00
 F0
-D4
+D6
 F9
 22
 4C
@@ -1268,7 +1268,7 @@ D1
 A0
 00
 F0
-96
+98
 FA
 20
 68
@@ -1280,7 +1280,7 @@ D1
 A0
 00
 F0
-90
+92
 FA
 20
 68
@@ -1302,13 +1302,13 @@ D1
 46
 00
 F0
-AC
+AE
 F9
 28
 46
 00
 F0
-9F
+A1
 F9
 70
 BD
@@ -1318,7 +1318,7 @@ C0
 0F
 00
 40
-2C
+30
 0B
 00
 00
@@ -1880,7 +1880,7 @@ C0
 B2
 00
 F0
-36
+37
 F8
 10
 BD
@@ -1888,11 +1888,11 @@ BD
 B5
 00
 F0
-42
+43
 F8
 00
 F0
-30
+31
 F8
 10
 BD
@@ -1908,19 +1908,19 @@ C0
 B2
 00
 F0
-28
+29
 F8
 10
 BD
 FE
 E7
-2E
+2F
 48
 00
 21
 81
 60
-2E
+2F
 49
 01
 61
@@ -1928,12 +1928,14 @@ E7
 21
 81
 60
-2D
+2E
 48
-03
+F0
 21
 01
 61
+03
+21
 81
 60
 2C
@@ -1946,11 +1948,11 @@ E7
 47
 2C
 48
-2A
+2B
 49
 01
 60
-2B
+2C
 49
 81
 61
@@ -1974,13 +1976,13 @@ D0
 20
 88
 61
-21
+22
 48
 00
 21
 81
 60
-30
+F0
 21
 01
 61
@@ -1990,7 +1992,7 @@ D0
 60
 70
 47
-1D
+1E
 49
 8A
 68
@@ -2022,7 +2024,7 @@ D1
 60
 70
 47
-13
+14
 4B
 15
 48
@@ -2103,6 +2105,8 @@ D1
 F7
 E7
 00
+00
+00
 60
 00
 40
@@ -2602,7 +2606,7 @@ B5
 E0
 FF
 F7
-93
+91
 FE
 40
 1C
@@ -2622,7 +2626,7 @@ D1
 20
 FF
 F7
-89
+87
 FE
 10
 BD
@@ -2664,7 +2668,7 @@ F8
 46
 FF
 F7
-7F
+7D
 FE
 00
 28
@@ -2682,7 +2686,7 @@ BD
 BD
 00
 00
-F3
+EF
 FC
 FF
 FF
@@ -2760,7 +2764,7 @@ B0
 B5
 FF
 F7
-32
+30
 FE
 60
 BC
@@ -2844,7 +2848,7 @@ C0
 46
 FF
 F7
-1B
+19
 FB
 10
 BD
@@ -2946,7 +2950,7 @@ BD
 0A
 00
 00
-A4
+A8
 0B
 00
 00
@@ -2962,7 +2966,7 @@ A4
 01
 00
 00
-B4
+B8
 0B
 00
 00
diff --git a/testcodes/software_list.txt b/testcodes/software_list.txt
index ebe811048e0ae468b6f0ccb3911cab45b6338594..b8d329a8f7b11bdf11a06cba861e1f96be706682 100644
--- a/testcodes/software_list.txt
+++ b/testcodes/software_list.txt
@@ -18,3 +18,4 @@ memory_tests
 romtable_tests
 interrupt_demo
 dataio_tests
+dataio_dma230_tests
diff --git a/testcodes/timer_driver_tests/timer_driver_tests.hex b/testcodes/timer_driver_tests/timer_driver_tests.hex
index 8a719f09d6163a2ef760be4e8ce301380676e79a..a78115d617ad5ca8712c13fd16c5235ad0e6ba1e 100644
--- a/testcodes/timer_driver_tests/timer_driver_tests.hex
+++ b/testcodes/timer_driver_tests/timer_driver_tests.hex
@@ -250,11 +250,11 @@ AB
 43
 18
 47
-3C
+40
 13
 00
 00
-5C
+60
 13
 00
 00
@@ -322,7 +322,7 @@ B5
 D1
 00
 F0
-D3
+D5
 FE
 10
 BD
@@ -332,7 +332,7 @@ BD
 D1
 00
 F0
-CE
+D0
 FE
 10
 BD
@@ -342,8 +342,8 @@ BD
 D1
 00
 F0
+01
 FF
-FE
 10
 BD
 00
@@ -360,7 +360,7 @@ B5
 BD
 01
 F0
-C8
+CA
 F8
 11
 46
@@ -374,7 +374,7 @@ D3
 FB
 01
 F0
-E0
+E2
 F8
 03
 B4
@@ -406,13 +406,13 @@ EB
 A0
 00
 F0
-0B
+0D
 FF
 F0
 A0
 00
 F0
-08
+0A
 FF
 F5
 4C
@@ -440,7 +440,7 @@ F4
 46
 00
 F0
-13
+15
 FE
 01
 22
@@ -450,7 +450,7 @@ FE
 07
 00
 F0
-A1
+A3
 FD
 20
 68
@@ -478,7 +478,7 @@ EA
 A0
 00
 F0
-E7
+E9
 FE
 66
 60
@@ -492,7 +492,7 @@ EA
 A0
 00
 F0
-E0
+E2
 FE
 66
 60
@@ -512,7 +512,7 @@ B0
 07
 00
 F0
-8D
+8F
 FD
 DF
 49
@@ -524,7 +524,7 @@ E9
 A0
 00
 F0
-D0
+D2
 FE
 20
 68
@@ -548,7 +548,7 @@ DB
 1C
 00
 F0
-58
+5A
 FD
 A0
 60
@@ -584,7 +584,7 @@ E0
 07
 00
 F0
-46
+48
 FD
 A1
 68
@@ -600,7 +600,7 @@ E0
 A0
 00
 F0
-AA
+AC
 FE
 00
 98
@@ -624,7 +624,7 @@ D1
 07
 00
 F0
-32
+34
 FD
 A1
 68
@@ -636,7 +636,7 @@ DF
 A0
 00
 F0
-98
+9A
 FE
 05
 E0
@@ -644,7 +644,7 @@ E2
 A0
 00
 F0
-94
+96
 FE
 00
 98
@@ -666,7 +666,7 @@ E4
 A0
 00
 F0
-E3
+E5
 FD
 00
 98
@@ -680,7 +680,7 @@ EB
 A0
 00
 F0
-DC
+DE
 FD
 08
 20
@@ -694,13 +694,13 @@ DD
 A0
 00
 F0
-D5
+D7
 FD
 F0
 A0
 00
 F0
-78
+7A
 FE
 00
 20
@@ -750,7 +750,7 @@ F0
 A0
 00
 F0
-B9
+BB
 FD
 FF
 20
@@ -766,7 +766,7 @@ F4
 46
 00
 F0
-D7
+D9
 FC
 0F
 24
@@ -778,13 +778,13 @@ FC
 46
 00
 F0
-EB
+ED
 FC
 28
 46
 00
 F0
-E6
+E8
 FC
 A0
 42
@@ -794,7 +794,7 @@ EC
 A0
 00
 F0
-49
+4B
 FE
 04
 E0
@@ -806,13 +806,13 @@ F2
 A0
 00
 F0
-9D
+9F
 FD
 28
 46
 00
 F0
-CA
+CC
 FC
 91
 4C
@@ -824,7 +824,7 @@ FC
 46
 00
 F0
-D9
+DB
 FC
 01
 46
@@ -832,13 +832,13 @@ F6
 A0
 00
 F0
-90
+92
 FD
 28
 46
 00
 F0
-D2
+D4
 FC
 00
 28
@@ -848,7 +848,7 @@ D0
 46
 00
 F0
-CD
+CF
 FC
 01
 46
@@ -856,13 +856,13 @@ F0
 A0
 00
 F0
-84
+86
 FD
 28
 46
 00
 F0
-C3
+C5
 FC
 20
 68
@@ -880,7 +880,7 @@ DB
 46
 00
 F0
-AD
+AF
 FC
 28
 68
@@ -896,7 +896,7 @@ DC
 A0
 00
 F0
-70
+72
 FD
 21
 46
@@ -904,7 +904,7 @@ DA
 A0
 00
 F0
-6C
+6E
 FD
 08
 E0
@@ -912,7 +912,7 @@ E7
 A0
 00
 F0
-0E
+10
 FE
 00
 2E
@@ -924,7 +924,7 @@ D5
 A0
 00
 F0
-62
+64
 FD
 04
 20
@@ -934,7 +934,7 @@ E5
 A0
 00
 F0
-03
+05
 FE
 00
 20
@@ -956,7 +956,7 @@ E8
 A0
 00
 F0
-F8
+FA
 FD
 01
 24
@@ -966,13 +966,13 @@ A4
 46
 00
 F0
-82
+84
 FC
 20
 46
 00
 F0
-8C
+8E
 FC
 00
 21
@@ -980,7 +980,7 @@ FC
 46
 00
 F0
-82
+84
 FC
 1F
 21
@@ -990,13 +990,13 @@ FC
 46
 00
 F0
-81
+83
 FC
 20
 46
 00
 F0
-6E
+70
 FC
 64
 49
@@ -1024,7 +1024,7 @@ DD
 A0
 00
 F0
-D6
+D8
 FD
 69
 68
@@ -1032,19 +1032,19 @@ C4
 A0
 00
 F0
-2C
+2E
 FD
 20
 46
 00
 F0
-54
+56
 FC
 DB
 A0
 00
 F0
-CC
+CE
 FD
 00
 20
@@ -1054,7 +1054,7 @@ FD
 46
 00
 F0
-66
+68
 FC
 01
 46
@@ -1062,7 +1062,7 @@ BC
 A0
 00
 F0
-1D
+1F
 FD
 76
 1C
@@ -1074,7 +1074,7 @@ D1
 46
 00
 F0
-51
+53
 FC
 01
 46
@@ -1082,13 +1082,13 @@ D6
 A0
 00
 F0
-13
+15
 FD
 20
 46
 00
 F0
-4E
+50
 FC
 01
 46
@@ -1096,13 +1096,13 @@ D8
 A0
 00
 F0
-0C
+0E
 FD
 20
 46
 00
 F0
-47
+49
 FC
 47
 00
@@ -1112,13 +1112,13 @@ FC
 46
 00
 F0
-44
+46
 FC
 20
 46
 00
 F0
-3F
+41
 FC
 01
 46
@@ -1126,13 +1126,13 @@ D6
 A0
 00
 F0
-FD
+FF
 FC
 20
 46
 00
 F0
-38
+3A
 FC
 B8
 42
@@ -1142,13 +1142,13 @@ DB
 A0
 00
 F0
-9B
+9D
 FD
 20
 46
 00
 F0
-27
+29
 FC
 FF
 27
@@ -1160,13 +1160,13 @@ FF
 46
 00
 F0
-28
+2A
 FC
 20
 46
 00
 F0
-23
+25
 FC
 B8
 42
@@ -1176,19 +1176,19 @@ DB
 A0
 00
 F0
-8A
+8C
 FD
 20
 46
 00
 F0
-11
+13
 FC
 20
 46
 00
 F0
-04
+06
 FC
 0A
 21
@@ -1196,7 +1196,7 @@ FC
 46
 00
 F0
-A4
+A6
 FD
 00
 29
@@ -1214,7 +1214,7 @@ E0
 A0
 00
 F0
-D1
+D3
 FC
 18
 E0
@@ -1228,7 +1228,7 @@ E0
 A0
 00
 F0
-CA
+CC
 FC
 11
 E0
@@ -1236,13 +1236,13 @@ E0
 46
 00
 F0
-FB
+FD
 FB
 20
 46
 00
 F0
-E9
+EB
 FB
 20
 68
@@ -1254,13 +1254,13 @@ CD
 A0
 00
 F0
-63
+65
 FD
 20
 46
 00
 F0
-EA
+EC
 FB
 28
 68
@@ -1272,7 +1272,7 @@ DB
 46
 00
 F0
-E9
+EB
 FB
 20
 68
@@ -1288,7 +1288,7 @@ D0
 A0
 00
 F0
-AC
+AE
 FC
 21
 46
@@ -1296,7 +1296,7 @@ FC
 A0
 00
 F0
-A8
+AA
 FC
 12
 E0
@@ -1314,7 +1314,7 @@ E0
 A0
 00
 F0
-9F
+A1
 FC
 E6
 E7
@@ -1322,7 +1322,7 @@ E7
 A0
 00
 F0
-41
+43
 FD
 00
 98
@@ -1336,7 +1336,7 @@ D0
 A0
 00
 F0
-94
+96
 FC
 02
 20
@@ -2098,7 +2098,7 @@ E0
 A0
 00
 F0
-BD
+BF
 FB
 00
 20
@@ -2112,7 +2112,7 @@ B5
 A0
 00
 F0
-B6
+B8
 FB
 01
 22
@@ -2128,7 +2128,7 @@ FB
 46
 00
 F0
-4F
+51
 FA
 35
 68
@@ -2136,7 +2136,7 @@ FA
 46
 00
 F0
-2F
+31
 FA
 E8
 07
@@ -2146,7 +2146,7 @@ D0
 A0
 00
 F0
-A5
+A7
 FB
 04
 E0
@@ -2158,7 +2158,7 @@ E0
 48
 00
 F0
-F9
+FB
 FA
 A8
 07
@@ -2168,7 +2168,7 @@ D4
 A0
 00
 F0
-9A
+9C
 FB
 05
 E0
@@ -2182,7 +2182,7 @@ E0
 48
 00
 F0
-ED
+EF
 FA
 68
 07
@@ -2192,7 +2192,7 @@ D4
 A0
 00
 F0
-8E
+90
 FB
 05
 E0
@@ -2206,7 +2206,7 @@ E0
 48
 00
 F0
-E1
+E3
 FA
 28
 07
@@ -2216,7 +2216,7 @@ D5
 A0
 00
 F0
-82
+84
 FB
 05
 E0
@@ -2230,7 +2230,7 @@ E0
 48
 00
 F0
-D5
+D7
 FA
 B0
 68
@@ -2242,7 +2242,7 @@ D1
 A0
 00
 F0
-75
+77
 FB
 05
 E0
@@ -2256,7 +2256,7 @@ E0
 48
 00
 F0
-C8
+CA
 FA
 09
 20
@@ -2270,7 +2270,7 @@ D0
 A0
 00
 F0
-67
+69
 FB
 00
 2C
@@ -2286,7 +2286,7 @@ BD
 48
 00
 F0
-B9
+BB
 FA
 20
 46
@@ -2340,7 +2340,7 @@ F9
 48
 00
 F0
-44
+46
 FB
 64
 48
@@ -2372,11 +2372,11 @@ D0
 A0
 00
 F0
-34
+36
 FB
 00
 F0
-93
+94
 F9
 00
 20
@@ -2440,17 +2440,17 @@ D0
 A0
 00
 F0
-6C
+6E
 FA
 64
 A0
 00
 F0
-0F
+11
 FB
 00
 F0
-6E
+6F
 F9
 00
 20
@@ -2472,11 +2472,11 @@ D0
 A0
 00
 F0
-5C
+5E
 FA
 00
 F0
-61
+62
 F9
 28
 46
@@ -2486,7 +2486,7 @@ BD
 A0
 00
 F0
-FB
+FD
 FA
 F7
 E7
@@ -2516,13 +2516,13 @@ DB
 46
 00
 F0
-7B
+7D
 F9
 20
 46
 00
 F0
-85
+87
 F9
 10
 BD
@@ -2742,7 +2742,7 @@ F0
 00
 00
 00
-DC
+E0
 13
 00
 00
@@ -2754,7 +2754,7 @@ C0
 0F
 00
 40
-7C
+80
 13
 00
 00
@@ -2996,7 +2996,7 @@ C0
 B2
 00
 F0
-36
+37
 F8
 10
 BD
@@ -3004,11 +3004,11 @@ BD
 B5
 00
 F0
-42
+43
 F8
 00
 F0
-30
+31
 F8
 10
 BD
@@ -3024,19 +3024,19 @@ C0
 B2
 00
 F0
-28
+29
 F8
 10
 BD
 FE
 E7
-2E
+2F
 48
 00
 21
 81
 60
-2E
+2F
 49
 01
 61
@@ -3044,12 +3044,14 @@ E7
 21
 81
 60
-2D
+2E
 48
-03
+F0
 21
 01
 61
+03
+21
 81
 60
 2C
@@ -3062,11 +3064,11 @@ E7
 47
 2C
 48
-2A
+2B
 49
 01
 60
-2B
+2C
 49
 81
 61
@@ -3090,13 +3092,13 @@ D0
 20
 88
 61
-21
+22
 48
 00
 21
 81
 60
-30
+F0
 21
 01
 61
@@ -3106,7 +3108,7 @@ D0
 60
 70
 47
-1D
+1E
 49
 8A
 68
@@ -3138,7 +3140,7 @@ D1
 60
 70
 47
-13
+14
 4B
 15
 48
@@ -3219,6 +3221,8 @@ D1
 F7
 E7
 00
+00
+00
 60
 00
 40
@@ -3776,7 +3780,7 @@ FF
 46
 FF
 F7
-3C
+3A
 F9
 00
 28
@@ -4022,7 +4026,7 @@ B5
 E0
 FF
 F7
-FB
+F9
 FD
 40
 1C
@@ -4042,7 +4046,7 @@ D1
 20
 FF
 F7
-F1
+EF
 FD
 10
 BD
@@ -4748,7 +4752,7 @@ F8
 46
 FF
 F7
-9B
+99
 FC
 00
 28
@@ -4766,7 +4770,7 @@ BD
 BD
 00
 00
-2B
+27
 F9
 FF
 FF
@@ -4884,7 +4888,7 @@ B0
 B5
 FF
 F7
-3A
+38
 FC
 60
 BC
@@ -4932,7 +4936,7 @@ C0
 46
 FE
 F7
-19
+17
 FF
 10
 BD
@@ -5174,7 +5178,7 @@ BD
 00
 00
 00
-58
+5C
 14
 00
 00
@@ -5190,7 +5194,7 @@ BD
 01
 00
 00
-6C
+70
 14
 00
 00
diff --git a/testcodes/timer_tests/timer_tests.hex b/testcodes/timer_tests/timer_tests.hex
index 207e48d0b06ff229b44583be49200b016bc61b57..8ca0f0a9c30daddcb5feb4fcfd99b25674f802fa 100644
--- a/testcodes/timer_tests/timer_tests.hex
+++ b/testcodes/timer_tests/timer_tests.hex
@@ -250,11 +250,11 @@ AB
 43
 18
 47
-88
+8C
 15
 00
 00
-A8
+AC
 15
 00
 00
@@ -322,7 +322,7 @@ B5
 D1
 01
 F0
-69
+6B
 F9
 10
 BD
@@ -340,7 +340,7 @@ B5
 BD
 01
 F0
-2A
+2C
 FA
 11
 46
@@ -354,7 +354,7 @@ BD
 FE
 01
 F0
-42
+44
 FA
 03
 B4
@@ -386,7 +386,7 @@ E1
 A0
 01
 F0
-75
+77
 F9
 03
 20
@@ -418,7 +418,7 @@ E2
 A0
 01
 F0
-65
+67
 F9
 00
 BF
@@ -434,7 +434,7 @@ E4
 A0
 01
 F0
-5D
+5F
 F9
 01
 25
@@ -442,7 +442,7 @@ F0
 A0
 01
 F0
-59
+5B
 F9
 FE
 20
@@ -506,7 +506,7 @@ F0
 A0
 01
 F0
-C9
+CB
 F8
 AD
 1C
@@ -542,7 +542,7 @@ F9
 A0
 01
 F0
-27
+29
 F9
 2D
 1D
@@ -566,7 +566,7 @@ FB
 A0
 01
 F0
-1B
+1D
 F9
 10
 35
@@ -586,7 +586,7 @@ FD
 A0
 01
 F0
-11
+13
 F9
 C0
 20
@@ -664,7 +664,7 @@ F0
 A0
 01
 F0
-EA
+EC
 F8
 20
 35
@@ -694,7 +694,7 @@ F2
 A0
 01
 F0
-DB
+DD
 F8
 40
 35
@@ -760,7 +760,7 @@ EA
 A0
 01
 F0
-BA
+BC
 F8
 80
 35
@@ -836,7 +836,7 @@ E1
 A0
 01
 F0
-94
+96
 F8
 FF
 35
@@ -894,7 +894,7 @@ DC
 A0
 01
 F0
-77
+79
 F8
 FF
 35
@@ -926,7 +926,7 @@ DC
 A0
 01
 F0
-67
+69
 F8
 01
 20
@@ -938,7 +938,7 @@ E2
 A0
 01
 F0
-61
+63
 F8
 02
 20
@@ -984,7 +984,7 @@ DF
 A0
 01
 F0
-4A
+4C
 F8
 08
 35
@@ -1192,7 +1192,7 @@ B3
 A0
 00
 F0
-E2
+E4
 FF
 01
 20
@@ -1950,7 +1950,7 @@ F6
 A0
 00
 F0
-67
+69
 FE
 01
 20
@@ -2014,7 +2014,7 @@ F6
 A0
 00
 F0
-D7
+D9
 FD
 01
 20
@@ -2210,13 +2210,13 @@ D1
 A0
 00
 F0
-E5
+E7
 FD
 D6
 A0
 00
 F0
-E2
+E4
 FD
 00
 26
@@ -2366,7 +2366,7 @@ BE
 A0
 00
 F0
-97
+99
 FD
 7F
 1C
@@ -2376,7 +2376,7 @@ C6
 A0
 00
 F0
-92
+94
 FD
 AE
 60
@@ -2442,7 +2442,7 @@ BF
 A0
 00
 F0
-71
+73
 FD
 BF
 1C
@@ -2470,7 +2470,7 @@ D0
 A0
 00
 F0
-F3
+F5
 FC
 01
 20
@@ -2494,13 +2494,13 @@ BC
 A0
 00
 F0
-57
+59
 FD
 C1
 A0
 00
 F0
-54
+56
 FD
 01
 20
@@ -2564,7 +2564,7 @@ B5
 A0
 00
 F0
-34
+36
 FD
 6D
 1C
@@ -2574,7 +2574,7 @@ BA
 A0
 00
 F0
-2F
+31
 FD
 00
 BF
@@ -2590,7 +2590,7 @@ BA
 A0
 00
 F0
-27
+29
 FD
 AD
 1C
@@ -2598,7 +2598,7 @@ BF
 A0
 00
 F0
-23
+25
 FD
 10
 20
@@ -2630,7 +2630,7 @@ BB
 A0
 00
 F0
-13
+15
 FD
 2D
 1D
@@ -2652,7 +2652,7 @@ BE
 A0
 00
 F0
-08
+0A
 FD
 08
 35
@@ -2680,7 +2680,7 @@ BF
 A0
 00
 F0
-8A
+8C
 FC
 01
 26
@@ -2700,13 +2700,13 @@ C3
 A0
 00
 F0
-F0
+F2
 FC
 C5
 A0
 00
 F0
-ED
+EF
 FC
 FF
 21
@@ -3518,7 +3518,7 @@ AD
 A0
 00
 F0
-E7
+E9
 FA
 01
 26
@@ -3528,7 +3528,7 @@ B5
 A0
 00
 F0
-52
+54
 FB
 B7
 48
@@ -3714,7 +3714,7 @@ D0
 A0
 00
 F0
-85
+87
 FA
 01
 26
@@ -3814,7 +3814,7 @@ F9
 48
 00
 F0
-C3
+C5
 FA
 81
 49
@@ -3832,7 +3832,7 @@ C8
 A0
 00
 F0
-BA
+BC
 FA
 79
 48
@@ -3922,7 +3922,7 @@ D0
 A0
 00
 F0
-8D
+8F
 FA
 03
 E0
@@ -3938,7 +3938,7 @@ F9
 A0
 00
 F0
-85
+87
 FA
 5D
 48
@@ -4022,7 +4022,7 @@ D0
 A0
 00
 F0
-5B
+5D
 FA
 03
 E0
@@ -4044,11 +4044,11 @@ D0
 A0
 00
 F0
-E0
+E2
 F9
 00
 F0
-BD
+BE
 F9
 00
 20
@@ -4058,7 +4058,7 @@ BD
 A0
 00
 F0
-D9
+DB
 F9
 F7
 E7
@@ -4088,11 +4088,11 @@ B5
 A0
 00
 F0
-3A
+3C
 FA
 00
 F0
-A7
+A8
 F9
 FE
 E7
@@ -4124,11 +4124,11 @@ B5
 A0
 00
 F0
-28
+2A
 FA
 00
 F0
-95
+96
 F9
 FE
 E7
@@ -4330,7 +4330,7 @@ C0
 0F
 00
 40
-2C
+30
 16
 00
 00
@@ -4752,7 +4752,7 @@ C0
 B2
 00
 F0
-36
+37
 F8
 10
 BD
@@ -4760,11 +4760,11 @@ BD
 B5
 00
 F0
-42
+43
 F8
 00
 F0
-30
+31
 F8
 10
 BD
@@ -4780,19 +4780,19 @@ C0
 B2
 00
 F0
-28
+29
 F8
 10
 BD
 FE
 E7
-2E
+2F
 48
 00
 21
 81
 60
-2E
+2F
 49
 01
 61
@@ -4800,12 +4800,14 @@ E7
 21
 81
 60
-2D
+2E
 48
-03
+F0
 21
 01
 61
+03
+21
 81
 60
 2C
@@ -4818,11 +4820,11 @@ E7
 47
 2C
 48
-2A
+2B
 49
 01
 60
-2B
+2C
 49
 81
 61
@@ -4846,13 +4848,13 @@ D0
 20
 88
 61
-21
+22
 48
 00
 21
 81
 60
-30
+F0
 21
 01
 61
@@ -4862,7 +4864,7 @@ D0
 60
 70
 47
-1D
+1E
 49
 8A
 68
@@ -4894,7 +4896,7 @@ D1
 60
 70
 47
-13
+14
 4B
 15
 48
@@ -4975,6 +4977,8 @@ D1
 F7
 E7
 00
+00
+00
 60
 00
 40
@@ -5100,7 +5104,7 @@ FF
 46
 FE
 F7
-A6
+A4
 FE
 00
 28
@@ -5238,7 +5242,7 @@ B5
 E0
 FF
 F7
-09
+07
 FF
 40
 1C
@@ -5258,7 +5262,7 @@ D1
 20
 FF
 F7
-FF
+FD
 FE
 10
 BD
@@ -5476,7 +5480,7 @@ F8
 46
 FF
 F7
-9D
+9B
 FE
 00
 28
@@ -5494,7 +5498,7 @@ BD
 BD
 00
 00
-2F
+2B
 FD
 FF
 FF
@@ -5572,7 +5576,7 @@ B0
 B5
 FF
 F7
-50
+4E
 FE
 60
 BC
@@ -5620,7 +5624,7 @@ C0
 46
 FE
 F7
-B7
+B5
 FD
 10
 BD
@@ -5762,7 +5766,7 @@ BD
 0A
 00
 00
-A4
+A8
 16
 00
 00
@@ -5778,7 +5782,7 @@ A4
 01
 00
 00
-C0
+C4
 16
 00
 00
diff --git a/testcodes/watchdog_demo/watchdog_demo.hex b/testcodes/watchdog_demo/watchdog_demo.hex
index 60a3d51c5c53d783be52a38e5f77b10c7019fc7d..9d9e1b856af241026e791ffc6dc79a86d1f80665 100644
--- a/testcodes/watchdog_demo/watchdog_demo.hex
+++ b/testcodes/watchdog_demo/watchdog_demo.hex
@@ -250,11 +250,11 @@ AB
 43
 18
 47
-10
+14
 0C
 00
 00
-30
+34
 0C
 00
 00
@@ -322,7 +322,7 @@ B5
 D1
 00
 F0
-AB
+AD
 FC
 10
 BD
@@ -340,7 +340,7 @@ B5
 BD
 00
 F0
-6C
+6E
 FD
 11
 46
@@ -354,7 +354,7 @@ F0
 F9
 00
 F0
-84
+86
 FD
 03
 B4
@@ -456,13 +456,13 @@ A2
 A0
 00
 F0
-94
+96
 FC
 A6
 A0
 00
 F0
-91
+93
 FC
 AB
 4F
@@ -488,7 +488,7 @@ A7
 A0
 00
 F0
-14
+16
 FC
 04
 E0
@@ -496,11 +496,11 @@ AA
 A0
 00
 F0
-10
+12
 FC
 00
 F0
-ED
+EE
 FB
 6D
 1C
@@ -512,7 +512,7 @@ B0
 A0
 00
 F0
-78
+7A
 FC
 91
 48
@@ -524,7 +524,7 @@ B7
 A0
 00
 F0
-72
+74
 FC
 89
 49
@@ -574,7 +574,7 @@ A0
 1C
 00
 F0
-59
+5B
 FC
 0A
 2E
@@ -606,17 +606,17 @@ B8
 A0
 00
 F0
-49
+4B
 FC
 00
 F0
-B6
+B7
 FB
 BF
 A0
 00
 F0
-44
+46
 FC
 74
 60
@@ -660,7 +660,7 @@ BA
 A0
 00
 F0
-2E
+30
 FC
 74
 60
@@ -728,13 +728,13 @@ B2
 A0
 00
 F0
-0C
+0E
 FC
 B5
 A0
 00
 F0
-09
+0B
 FC
 BB
 4D
@@ -746,7 +746,7 @@ A0
 46
 00
 F0
-93
+95
 FB
 02
 2E
@@ -758,7 +758,7 @@ BD
 A0
 00
 F0
-FD
+FF
 FB
 02
 27
@@ -772,7 +772,7 @@ A0
 46
 00
 F0
-86
+88
 FB
 00
 2D
@@ -792,13 +792,13 @@ C6
 A0
 00
 F0
-EC
+EE
 FB
 CE
 A0
 00
 F0
-E9
+EB
 FB
 4A
 48
@@ -850,7 +850,7 @@ D1
 A0
 00
 F0
-CF
+D1
 FB
 64
 1C
@@ -860,7 +860,7 @@ D8
 A0
 00
 F0
-CA
+CC
 FB
 64
 1C
@@ -876,7 +876,7 @@ DE
 A0
 00
 F0
-C2
+C4
 FB
 64
 1C
@@ -892,11 +892,11 @@ EE
 A0
 00
 F0
-BA
+BC
 FB
 00
 F0
-27
+28
 FB
 F8
 BD
@@ -938,7 +938,7 @@ F2
 48
 00
 F0
-A3
+A5
 FB
 F0
 48
@@ -964,11 +964,11 @@ ED
 A0
 00
 F0
-96
+98
 FB
 00
 F0
-03
+04
 FB
 00
 20
@@ -986,7 +986,7 @@ F1
 A0
 00
 F0
-8B
+8D
 FB
 FF
 F7
@@ -1004,27 +1004,27 @@ F4
 A0
 00
 F0
-82
+84
 FB
 83
 A0
 00
 F0
-7F
+81
 FB
 00
 F0
-EC
+ED
 FA
 F8
 A0
 00
 F0
-7A
+7C
 FB
 00
 F0
-E7
+E8
 FA
 00
 20
@@ -1034,7 +1034,7 @@ F9
 A0
 00
 F0
-73
+75
 FB
 62
 48
@@ -1066,11 +1066,11 @@ F6
 A0
 00
 F0
-63
+65
 FB
 00
 F0
-D0
+D1
 FA
 00
 20
@@ -1906,7 +1906,7 @@ C0
 FF
 01
 40
-B0
+B4
 0C
 00
 00
@@ -2122,7 +2122,7 @@ B5
 A0
 00
 F0
-53
+55
 F9
 19
 4C
@@ -2168,11 +2168,11 @@ E7
 48
 00
 F0
-3C
+3E
 F9
 00
 F0
-A9
+AA
 F8
 20
 68
@@ -2324,7 +2324,7 @@ C0
 B2
 00
 F0
-36
+37
 F8
 10
 BD
@@ -2332,11 +2332,11 @@ BD
 B5
 00
 F0
-42
+43
 F8
 00
 F0
-30
+31
 F8
 10
 BD
@@ -2352,19 +2352,19 @@ C0
 B2
 00
 F0
-28
+29
 F8
 10
 BD
 FE
 E7
-2E
+2F
 48
 00
 21
 81
 60
-2E
+2F
 49
 01
 61
@@ -2372,12 +2372,14 @@ E7
 21
 81
 60
-2D
+2E
 48
-03
+F0
 21
 01
 61
+03
+21
 81
 60
 2C
@@ -2390,11 +2392,11 @@ E7
 47
 2C
 48
-2A
+2B
 49
 01
 60
-2B
+2C
 49
 81
 61
@@ -2418,13 +2420,13 @@ D0
 20
 88
 61
-21
+22
 48
 00
 21
 81
 60
-30
+F0
 21
 01
 61
@@ -2434,7 +2436,7 @@ D0
 60
 70
 47
-1D
+1E
 49
 8A
 68
@@ -2466,7 +2468,7 @@ D1
 60
 70
 47
-13
+14
 4B
 15
 48
@@ -2547,6 +2549,8 @@ D1
 F7
 E7
 00
+00
+00
 60
 00
 40
@@ -2672,7 +2676,7 @@ FF
 46
 FF
 F7
-64
+62
 FB
 00
 28
@@ -2810,7 +2814,7 @@ B5
 E0
 FF
 F7
-09
+07
 FF
 40
 1C
@@ -2830,7 +2834,7 @@ D1
 20
 FF
 F7
-FF
+FD
 FE
 10
 BD
@@ -3048,7 +3052,7 @@ F8
 46
 FF
 F7
-9D
+9B
 FE
 00
 28
@@ -3066,7 +3070,7 @@ BD
 BD
 00
 00
-2F
+2B
 FD
 FF
 FF
@@ -3144,7 +3148,7 @@ B0
 B5
 FF
 F7
-50
+4E
 FE
 60
 BC
@@ -3192,7 +3196,7 @@ C0
 46
 FF
 F7
-75
+73
 FA
 10
 BD
@@ -3338,7 +3342,7 @@ BD
 00
 00
 00
-2C
+30
 0D
 00
 00
@@ -3354,7 +3358,7 @@ BD
 01
 00
 00
-44
+48
 0D
 00
 00
diff --git a/verif/tb/verilog/nanosoc_tb.v b/verif/tb/verilog/nanosoc_tb.v
index 3ab628e10101c8afd73be3e997ee34036b2277ab..f8f9d31061e25f5c0938122009ce8df0c9737518 100644
--- a/verif/tb/verilog/nanosoc_tb.v
+++ b/verif/tb/verilog/nanosoc_tb.v
@@ -209,8 +209,8 @@ initial begin
   pullup(P1[ 4]);
   pullup(P1[ 5]);
   pullup(P1[ 6]);
-//  pullup(P1[ 7]);
-  pulldown(P1[ 7]);
+//  pullup(P1[ 7]); // FT1248 mode
+  pulldown(P1[ 7]); // EXTIO mode
   pullup(P1[ 8]);
   pullup(P1[ 9]);
   pullup(P1[10]);
@@ -789,7 +789,7 @@ nanosoc_ft1248x1_track
 `define DMAC_TRACK_PATH u_track_pl230_udma
 
 `ifndef COCOTB_SIM
-  nanosoc_dma_log_to_file #(.FILENAME("logs/dma230.log"),.NUM_CHNLS(2),.NUM_CHNL_BITS(1),.TIMESTAMP(1))
+  nanosoc_dma_log_to_file #(.FILENAME("logs/dma230.log"),.NUM_CHNLS(4),.NUM_CHNL_BITS(2),.TIMESTAMP(1))
     u_nanosoc_dma_log_to_file (
     .hclk          (`DMAC_TRACK_PATH.hclk),
     .hresetn       (`DMAC_TRACK_PATH.hresetn),
diff --git a/verif/trace/verilog/nanosoc_dma_log_to_file.v b/verif/trace/verilog/nanosoc_dma_log_to_file.v
index 68f61eb4a29ee9a53046621be0209cf20a36797c..306cc23327d88de408002c7905db7af7c8a547ca 100644
--- a/verif/trace/verilog/nanosoc_dma_log_to_file.v
+++ b/verif/trace/verilog/nanosoc_dma_log_to_file.v
@@ -11,8 +11,8 @@
 
 module nanosoc_dma_log_to_file
   #(parameter FILENAME = "dma.log",
-    parameter NUM_CHNLS = 2,
-    parameter NUM_CHNL_BITS = 1,
+    parameter NUM_CHNLS = 4,
+    parameter NUM_CHNL_BITS = 2,
     parameter TIMESTAMP = 1)
   (
   input  wire        hclk,
@@ -166,7 +166,7 @@ wire hsel = 1'b1;
    initial
      begin
        fd= $fopen(FILENAME,"w");
-       dma_req_last <= 2'b00;
+       dma_req_last <= {NUM_CHNLS{1'b0}};
        cyc_count <= 0;
        if (fd == 0)
           $write("** %m : output log file failed to open **\n");