diff --git a/ccid/CCID_Tests.ttcn b/ccid/CCID_Tests.ttcn
index f6816be..c620b0b 100644
--- a/ccid/CCID_Tests.ttcn
+++ b/ccid/CCID_Tests.ttcn
@@ -46,6 +46,54 @@
 const octetstring c_UICC_SELECT_MF := '00a40004023f00'O;
 const octetstring c_SIM_SELECT_MF := 'a0a40004023f00'O;
 
+/* Table 7 of ISO7816-3 */
+type enumerated ISO7816_Fi {
+	ISO7816_FI_372_4MHz	('0000'B),
+	ISO7816_FI_372_5MHz	('0001'B),
+	ISO7816_FI_558_6MHz	('0010'B),
+	ISO7816_FI_744_8MHz	('0011'B),
+	ISO7816_FI_1116_12MHz	('0100'B),
+	ISO7816_FI_1488_16MHz	('0101'B),
+	ISO7816_FI_1860_20MHz	('0110'B),
+
+	ISO7816_FI_512_5MHz	('1001'B),
+	ISO7816_FI_768_7MHz	('1010'B),
+	ISO7816_FI_1024_10MHz	('1011'B),
+	ISO7816_FI_1536_15MHz	('1100'B),
+	ISO7816_FI_2048_20MHz	('1101'B)
+};
+
+/* Table 8 of ISO7816-3 */
+type enumerated ISO7816_Di {
+	ISO7816_DI_1		('0001'B),
+	ISO7816_DI_2		('0010'B),
+	ISO7816_DI_4		('0011'B),
+	ISO7816_DI_8		('0100'B),
+	ISO7816_DI_16		('0101'B),
+	ISO7816_DI_32		('0110'B),
+	ISO7816_DI_64		('0111'B),
+
+	ISO7816_DI_12		('1000'B),
+	ISO7816_DI_20		('1001'B)
+}
+
+private template (value) CCID_ProtocolData ts_ProtoDataT0(ISO7816_Fi fi, ISO7816_Di di,
+							  uint8_t guard_time := 0,
+							  uint8_t wait_int := 0) := {
+	T0 := {
+		Findex := enum2int(fi),
+		Dindex := enum2int(di),
+
+		bRFU := '000000'B,
+		inv_convention := false,
+		bRFU2 := '0'B,
+
+		bGuardTimeT0 := guard_time,
+		bWaitingIntegerT0 := wait_int,
+		bClockStop := STOPPING_NOT_ALLOWED
+	}
+};
+
 type function void_fn() runs on Slot_CT;
 
 /* altstep running on the per-slot test component */
@@ -329,6 +377,7 @@
 {
 	var integer i;
 	f_ccid_power_on();
+	f_ccid_set_par(ts_ProtoDataT0(ISO7816_FI_512_5MHz, ISO7816_DI_32));
 	for (i := 0; i < 1000; i := i+1) {
 		f_ccid_xfr(c_UICC_SELECT_MF, ?);
 	}
