local lib14a = require('read14a')
local utils = require('utils')
local md5 = require('md5')
-local toyNames = require('default_toys')
+local toys = require('default_toys')
example =[[
1. script run tnp3sim
]]
local TIMEOUT = 2000 -- Shouldn't take longer than 2 seconds
-local DEBUG = false -- the debug flag
+local DEBUG = true -- the debug flag
local band = bit32.band
remainder = num % RADIX
return remainder, highLSW, lowLSW
- uint num = 0 | (msw >> 16) & 0xffff;
+ -- uint num = 0 | (msw >> 16) & 0xffff;
- highLSW = 0 | (num / RADIX) << 16;
- remainder = num % RADIX;
+ -- highLSW = 0 | (num / RADIX) << 16;
+ -- remainder = num % RADIX;
- num = (remainder << 16) | (msw & 0xffff);
+ -- num = (remainder << 16) | (msw & 0xffff);
- highLSW |= num / RADIX;
- remainder = num % RADIX;
+ -- highLSW |= num / RADIX;
+ -- remainder = num % RADIX;
- num = (remainder << 16) | ((lsw >> 16) & 0xffff);
+ -- num = (remainder << 16) | ((lsw >> 16) & 0xffff);
- lowLSW = 0 | (num / RADIX) << 16;
- remainder = num % RADIX;
+ -- lowLSW = 0 | (num / RADIX) << 16;
+ -- remainder = num % RADIX;
- num = (remainder << 16) | (lsw & 0xffff);
+ -- num = (remainder << 16) | (lsw & 0xffff);
- lowLSW |= num / RADIX;
- remainder = num % RADIX;
+ -- lowLSW |= num / RADIX;
+ -- remainder = num % RADIX;
end
print( string.rep('--',20) )
print(' Gathering info')
local uid = blocks[0]:sub(1,8)
- local itemtype = blocks[1]:sub(1,4)
+ local toytype = blocks[1]:sub(1,4)
local cardidLsw = blocks[1]:sub(9,16)
local cardidMsw = blocks[1]:sub(17,24)
+ local subtype = blocks[1]:sub(25,28)
- local itemtypename = toyNames[itemtype]
- if itemtypename == nil then
- itemtypename = toyNames[utils.SwapEndiannessStr(itemtype,16)]
- end
-
-- Show info
print( string.rep('--',20) )
- print( (' ITEM TYPE : 0x%s - %s'):format(itemtype, itemtypename) )
+
+ local item = toys.Find( toytype, subtype)
+ if item then
+ local itemStr = ('%s - %s (%s)'):format(item[6],item[5], item[4])
+ print(' ITEM TYPE :'..itemStr )
+ else
+ print( (' ITEM TYPE : 0x%s 0x%s'):format(toytype, subtype) )
+ end
+
print( (' UID : 0x%s'):format(uid) )
print( (' CARDID : 0x%s %s [%s]'):format(
cardidMsw,cardidLsw,
- Num2Card(cardidMsw, cardidLsw))
+ --Num2Card(cardidMsw, cardidLsw))
+ '')
)
print( string.rep('--',20) )
err = LoadEmulator(blocks)
if err then return oops(err) end
core.clearCommandBuffer()
- print('The simulation is now prepared.\n --> run \"hf mf sim u '..uid..' x\" <--')
+ print('The simulation is now prepared.\n --> run \"hf mf sim u '..uid..'\" <--')
end
end
main(args)
\ No newline at end of file