The unified diff between revisions [79d4f35e..] and [36d5d43a..] is displayed below. It can also be downloaded as a raw diff.

#
#
# patch "ENGINEERING"
#  from [1e3e3f12423c4479cf21ef3c44348b53e9ef252e]
#    to [98accc97ed78eeee973321bb6ebfbcafb5874d1d]
#
============================================================
--- ENGINEERING	1e3e3f12423c4479cf21ef3c44348b53e9ef252e
+++ ENGINEERING	98accc97ed78eeee973321bb6ebfbcafb5874d1d
@@ -218,6 +218,44 @@ After issuing this command, future comma

 --

+API Call: "rf_m1_authentication2"
+Parameters: key identifier - A 0x60, B 0x61, block number to authenticate on,
+            encryption key (6 bytes)
+
+Default transport keys: 0xFF FF FF FF FF FF, 0x00 00 00 00 00 00 (either A or B)
+0xA0 A1 A2 A3 A4 A5 (key A)
+0xB0 B1 B2 B3 B4 B5 (key B)
+
+Commands:
+1. '\xAA\xBB\x0D\x00\x00\x00\x07\x02\x60\x00\xFF\xFF\xFF\xFF\xFF\xFF\x65'
+    Authenticate with key A as '0xFF FF FF FF FF FF'
+
+Responses:
+1. '\xAA\xBB\x06\x00\xDE\xAD\x07\x08\x00\x76' Successful authentication
+1. '\xAA\xBB\x06\x00\xDE\xAD\x07\x08\x16\x60' Access denied (incorrect key)
+
+--
+
+API Call "rf_m1_read"
+Parameters: 'absolute' block number
+
+MIFARE cards are split into blocks of 4 16-byte sectors (where the fourth sector
+contains the access control data). The SL500L requires an absolute offset, so
+block 0 is sectors 0, 1, 2 and 3 (where sector 3 contains the keys and ACL).
+Block 1 is sectors 4, 5, 6 and 7, and so on.
+
+To make things a little more confusing, blocks 32 and above (sector >= 0x80) are
+made up of 16 sectors, where the sixteenth is the key and ACL sector.
+
+Commands:
+1. '\xAA\xBB\x06\x00\x00\x00\x08\x02\x07\x0D' Read sector 0x07 (i.e. in block 1)
+
+Responses:
+1. '\xaa\xbb\x16\x00\xde\xad\x08\x02\x00\x00\x00\x00\x00\x00\x00\x00\xff\x07\x80\x69\xff\xff\xff\xff\xff\xff\x68'
+   Success, returned data is 000000000000FF078069FFFFFFFFFFFF
+
+--
+
 API Call: "rf_halt"
 Parameters: none