My favorites | Sign in
Project Home Wiki Issues Source
READ-ONLY: This project has been archived. For more information see this post.
Search
for
HL64  
Updated Jan 23, 2014 by helios.martinez.dominguez@gmail.com
Helios Martínez Domínguez Ⓛ Copyleft 2013 HardwareLibre64 | Gedit @ Ubuntu Studio.
Especificacion 0.3 {Aplication Binary Interface} HL64S.03 --Barcelona-- HardwareLibre64 BCN
HL64 ABI
  • OPTIMIZATION (API, CACHE)
  • LEGACY COMPATIBILITY (SPECIFICATION HEADER -- TO DO --)
  • BANDWITH FLEXIBILITY (UIxx|SIxx)
OPRQ -- OPERATION REQUEST OP64 Specification 0.3 PROT 0x00 (ACTUALIZADA)
OPRQ UI64 8 Byte (64bit) FIEL 0x00
OPRQ -- OPERATION REQUEST OP64|OP48|OP32|OP24|OP16|OP12|OP08|OP04 Specification 0.3 PROT 0x01 (ACTUALIZADA)
OPRQ UI32--UI64 4--8 Byte (32--64bit) FIEL 0x00
OPB1 = OPRQ & 0xFF00000000000000 / 0x0100000000000000 '// oprq byte 1 FIEL 0x01 OPB2 = OPRQ & 0x00FF000000000000 / 0x0001000000000000 '// oprq byte 2 FIEL 0x02 OPB3 = OPRQ & 0x0000FF0000000000 / 0x0000010000000000 '// oprq byte 3 FIEL 0x03 OPB4 = OPRQ & 0x000000FF00000000 / 0x0000000100000000 '// oprq byte 4 FIEL 0x04 OPB5 = OPRQ & 0x00000000FF000000 / 0x0000000001000000 '// oprq byte 5 FIEL 0x05 OPB6 = OPRQ & 0x0000000000FF0000 / 0x0000000000010000 '// oprq byte 6 FIEL 0x06 OPB7 = OPRQ & 0x000000000000FF00 / 0x0000000000000100 '// oprq byte 7 FIEL 0x07 OPB8 = OPRQ & 0x00000000000000FF '// oprq byte 8 FIEL 0x08

OPCO = OPRQ & 0xFF00000000000000 / 0x0100000000000000 '// oprq opcode FIEL 0x10 OPTY = OPRQ & 0x00F0000000000000 / 0x0010000000000000 '// oprq btyp FIEL 0x20 OPF0 = OPRQ & 0x000C000000000000 / 0x0001000000000000 - 9 '// oprq flag 0 (ring) FIEL 0x21 OPF1 = OPRQ & 0x0003000000000000 / 0x0003000000000000 '// oprq flag 1 (opf1) FIEL 0x22 OPF2 = OPRQ & 0x0001000000000000 / 0x0001000000000000 '// oprq flag 2 (opf2) FIEL 0x23

OP48 = OPRQ & 0x0000FFFFFFFFFFFF '// oprq 48bit argument, 64bit bandwidth FIEL 0x30 OP32 = OPRQ & 0x00000000FFFFFFFF '// oprq 32bit argument, 64bit bandwidth FIEL 0x31 OP24 = OPRQ & 0x0000FFFFFF000000 / 0x1000000 '// oprq 24bit argument, 64bit bandwidth FIEL 0x40 OP24 = OPRQ & 0x0000000000FFFFFF '// oprq 24bit argument, 64bit bandwidth FIEL 0x41 OP16 = OPRQ & 0x0000FFFF00000000 / 0x100000000 '// oprq 16bit argument, 64bit bandwidth FIEL 0x50 OP16 = OPRQ & 0x00000000FFFF0000 / 0x10000 '// oprq 16bit argument, 64bit bandwidth FIEL 0x51 OP16 = OPRQ & 0x000000000000FFFF '// oprq 16bit argument, 64bit bandwidth FIEL 0x52 OP12 = OPRQ & 0x0000FFF000000000 / 0x1000000000 '// oprq 12bit argument, 64bit bandwidth FIEL 0x60 OP12 = OPRQ & 0x0000000FFF000000 / 0x1000000 '// oprq 12bit argument, 64bit bandwidth FIEL 0x61 OP12 = OPRQ & 0x0000000000FFF000 / 0x1000 '// oprq 12bit argument, 64bit bandwidth FIEL 0x62 OP12 = OPRQ & 0x0000000000000FFF '// oprq 12bit argument, 64bit bandwidth FIEL 0x63 OP08 = OPRQ & 0x0000FF0000000000 / 0x10000000000 '// oprq 08bit argument, 64bit bandwidth FIEL 0x70 OP08 = OPRQ & 0x000000FF00000000 / 0x100000000 '// oprq 08bit argument, 64bit bandwidth FIEL 0x71 OP08 = OPRQ & 0x00000000FF000000 / 0x1000000 '// oprq 08bit argument, 64bit bandwidth FIEL 0x72 OP08 = OPRQ & 0x0000000000FF0000 / 0x10000 '// oprq 08bit argument, 64bit bandwidth FIEL 0x73 OP08 = OPRQ & 0x000000000000FF00 / 0x100 '// oprq 08bit argument, 64bit bandwidth FIEL 0x74 OP08 = OPRQ & 0x00000000000000FF '// oprq 08bit argument, 64bit bandwidth FIEL 0x75 OP04 = OPRQ & 0x0000F00000000000 / 0x100000000000 '// oprq 04bit argument, 64bit bandwidth FIEL 0x80 OP04 = OPRQ & 0x00000F0000000000 / 0x10000000000 '// oprq 04bit argument, 64bit bandwidth FIEL 0x81 OP04 = OPRQ & 0x000000F000000000 / 0x1000000000 '// oprq 04bit argument, 64bit bandwidth FIEL 0x82 OP04 = OPRQ & 0x0000000F00000000 / 0x100000000 '// oprq 04bit argument, 64bit bandwidth FIEL 0x83 OP04 = OPRQ & 0x00000000F0000000 / 0x10000000 '// oprq 04bit argument, 64bit bandwidth FIEL 0x84 OP04 = OPRQ & 0x000000000F000000 / 0x1000000 '// oprq 04bit argument, 64bit bandwidth FIEL 0x85 OP04 = OPRQ & 0x0000000000F00000 / 0x100000 '// oprq 04bit argument, 64bit bandwidth FIEL 0x86 OP04 = OPRQ & 0x00000000000F0000 / 0x10000 '// oprq 04bit argument, 64bit bandwidth FIEL 0x87 OP04 = OPRQ & 0x000000000000F000 / 0x1000 '// oprq 04bit argument, 64bit bandwidth FIEL 0x88 OP04 = OPRQ & 0x0000000000000F00 / 0x100 '// oprq 04bit argument, 64bit bandwidth FIEL 0x89 OP04 = OPRQ & 0x00000000000000F0 / 0x10 '// oprq 04bit argument, 64bit bandwidth FIEL 0x8A OP04 = OPRQ & 0x000000000000000F '// oprq 04bit argument, 64bit bandwidth FIEL 0x8B
00 -- FF 0 = BINARY 0 = SYST 0 = OP16|OP08
  1. = GRAPHIC 1 = PRIV 1 = OP48|OP64
2 = NUMBER 2 = COMM 2 = 3 = TEXT 3 = PUBL 3 = 4 = AUDIO 5 = CINEMA 6 = SEQUENCE 7 = SESSION 8 = INTERFACE 9 = EXTENSION A = ADDR|ADDS B = BINA|BUND C = CONF|CODE D = DISK|DEVC E = ETHN|EXTR F = FILE|FOLD
  • SYST = system, PRIV = private, COMM = common, PUBL = public)
000000000000 -- FFFFFFFFFFFF

OP48 -- OPERATION REQUEST 48BIT ARGUMENT, Specification 0.3 PROT 0x02 (ACTUALIZADA)

OPRQ UI64 8 Byte (64bit) FIEL 0x00
OPB1 = OPRQ & 0xFF00000000000000 / 0x0100000000000000 '// oprq byte 1 FIEL 0x01 OPB2 = OPRQ & 0x00FF000000000000 / 0x0001000000000000 '// oprq byte 2 FIEL 0x02 OPB3 = OPRQ & 0x0000FF0000000000 / 0x0000010000000000 '// oprq byte 3 FIEL 0x03 OPB4 = OPRQ & 0x000000FF00000000 / 0x0000000100000000 '// oprq byte 4 FIEL 0x04 OPB5 = OPRQ & 0x00000000FF000000 / 0x0000000001000000 '// oprq byte 5 FIEL 0x05 OPB6 = OPRQ & 0x0000000000FF0000 / 0x0000000000010000 '// oprq byte 6 FIEL 0x06 OPB7 = OPRQ & 0x000000000000FF00 / 0x0000000000000100 '// oprq byte 7 FIEL 0x07 OPB8 = OPRQ & 0x00000000000000FF '// oprq byte 8 FIEL 0x08
OPCO = OPRQ & 0xFF00000000000000 / 0x0100000000000000 '// oprq opcode FIEL 0x10
OPTY = OPRQ & 0x00F0000000000000 / 0x0001000000000000 '// oprq btyp FIEL 0x20 OPF0 = OPRQ & 0x000C000000000000 / 0x0001000000000000 - 9 '// oprq flag 0 (ring) FIEL 0x21 OPF1 = OPRQ & 0x0003000000000000 / 0x0003000000000000 '// oprq flag 1 (opf1) FIEL 0x22 OPF2 = OPRQ & 0x0001000000000000 / 0x0001000000000000 '// oprq flag 2 (opf2) FIEL 0x23
OP48 = OPRQ & 0x0000FFFFFFFFFFFF '// oprq 48bit argument, 64bit bandwidth FIEL 0x30
OP32 = OPRQ & 0x00000000FFFFFFFF '// oprq 32bit argument, 64bit bandwidth FIEL 0x31
OP24 = OPRQ & 0x0000FFFFFF000000 / 0x1000000 '// oprq 24bit argument, 64bit bandwidth FIEL 0x40 OP24 = OPRQ & 0x0000000000FFFFFF '// oprq 24bit argument, 64bit bandwidth FIEL 0x41
OP16 = OPRQ & 0x0000FFFF00000000 / 0x100000000 '// oprq 16bit argument, 64bit bandwidth FIEL 0x50 OP16 = OPRQ & 0x00000000FFFF0000 / 0x10000 '// oprq 16bit argument, 64bit bandwidth FIEL 0x51 OP16 = OPRQ & 0x000000000000FFFF '// oprq 16bit argument, 64bit bandwidth FIEL 0x52
00 -- FF 0 = BINARY 0 = SYST 0 = OP16
  1. = GRAPHIC 1 = PRIV 1 = OP24
2 = NUMBER 2 = COMM 2 = OP32 3 = TEXT 3 = PUBL 3 = OP48 4 = AUDIO 5 = CINEMA 6 = SEQUENCE 7 = SESSION 8 = INTERFACE 9 = EXTENSION A = ADDR|ADDS B = BINA|BUND C = CONF|CODE D = DISK|DEVC E = ETHN|EXTR F = FILE|FOLD
  • SYST = system, PRIV = private, COMM = common, PUBL = public)
000000000000 -- FFFFFFFFFFFF
OP16 -- OPERATION REQUEST 16BIT ARGUMENT, Specification 0.3 PROT 0x03 (ACTUALIZADA)
OPRQ UI32 4 Byte (32bit) FIEL 0x00
OPB1 = OPRQ & 0xFF000000 / 0x01000000 '// oprq byte 1 FIEL 0x01 OPB2 = OPRQ & 0x00FF0000 / 0x00010000 '// oprq byte 2 FIEL 0x02 OPB3 = OPRQ & 0x0000FF00 / 0x00000100 '// oprq byte 3 FIEL 0x03 OPB4 = OPRQ & 0x000000FF '// oprq byte 4 FIEL 0x04
OPCO = OPRQ & 0xFF000000 / 0x01000000 '// oprq opcode FIEL 0x10
OPTY = OPRQ & 0x00F00000 / 0x00010000 '// oprq btyp FIEL 0x20 OPF0 = OPRQ & 0x000C0000 / 0x00010000 - 9 '// oprq flag 0 (ring) FIEL 0x21 OPF1 = OPRQ & 0x00030000 / 0x00030000 '// oprq flag 1 (bwth) FIEL 0x22 OPF2 = OPRQ & 0x00010000 / 0x00010000 '// oprq flag 2 (onff) FIEL 0x23
OP16 = OPRQ & 0x0000FFFF '// oprq 16bit argument, 32bit bandwidth FIEL 0x30
OP12 = OPRQ & 0x0000FFF0 / 0x10 '// oprq 12bit argument, 32bit bandwidth FIEL 0x60
OP08 = OPRQ & 0x0000FF00 / 0x100 '// oprq 08bit argument, 64bit bandwidth FIEL 0x70 OP08 = OPRQ & 0x000000FF '// oprq 08bit argument, 64bit bandwidth FIEL 0x71
OP04 = OPRQ & 0x0000F000 / 0x1000 '// oprq 04bit argument, 64bit bandwidth FIEL 0x80 OP04 = OPRQ & 0x00000F00 / 0x100 '// oprq 04bit argument, 64bit bandwidth FIEL 0x81 OP04 = OPRQ & 0x000000F0 / 0x10 '// oprq 04bit argument, 64bit bandwidth FIEL 0x82 OP04 = OPRQ & 0x0000000F '// oprq 04bit argument, 64bit bandwidth FIEL 0x83
00 -- FF 0 = BINARY 0 = SYST 0 = OP16
  1. = GRAPHIC 1 = PRIV 1 = OP12
2 = NUMBER 2 = COMM 2 = OP08 3 = TEXT 3 = PUBL 3 = OP04 4 = AUDIO 5 = CINEMA 6 = SEQUENCE 7 = SESSION 8 = INTERFACE 9 = EXTENSION A = ADDR|ADDS B = BINA|BUND C = CONF|CODE D = DISK|DEVC E = ETHN|EXTR F = FILE|FOLD
  • SYST = system, PRIV = private, COMM = common, PUBL = public
000000000000 -- FFFFFFFFFFFF

EXCH -- EXCHANGE PRIMITIVES, Specification 0.3 PROT 0x04 (ACTUALIZADA)

EXCH UI32 4 byte (32bit) FIEL 0x00
ASET = EXCH & 0xFF000000 / 1000000 '// address set byte FIEL 0x01 XSET = EXCH & 0xFF0000 / 0x10000 '// exchange set byte FIEL 0x02 MSET = EXCH & 0xFF00 / 100 '// message set byte FIEL 0x03 XCRC = EXCH & 0xFF '// exchange cyclic redundant code byte FIEL 0x04

AMOD = ASET & 0xF0 '// address mode (0--F) FIEL 0x10 ABWD = ASET & 0x0F '// address bandwidth (1B--32KB) FIEL 0x11

MSGM = MSET & 0xF0 '// message mode (0--F) FIEL 0x20 MSGW = MSET & 0x0F '// message bandwidth (1B--8EB) FIEL 0x21 dependent on MSGB

XLAY = XSET & 0xF0 '// exchange layer (0--F) FIEL 0x30 XCHA = XSET & 0x0C '// exchange channel FIEL 0x31 (0=output, 1=input, 2=duplex, 3=multiplex) MSGB = XSET & 0x03 '// message band (0=1B--32KB,1=64KB--2GB,
2=4GB--128TB, 3=256TB--8EB) FIEL 0x32
TGBT = XCRC & 0x80 '// take|give bit (0=take, 1=give) FIEL 0x40 ADMP = XCRC & 0x40 '// AMOD parity (0=pair, 1=odd) FIEL 0x41 ABWP = XCRC & 0x20 '// ABWD parity (0=pair, 1=odd) FIEL 0x42 XLAP = XCRC & 0x10 '// XLAY parity (0=pair, 1=odd) FIEL 0x43 XCHP = XCRC & 0x08 '// XCHA parity (0=pair, 1=odd) FIEL 0x44 MSBP = XCRC & 0x04 '// MSGB parity (0=pair, 1=odd) FIEL 0x45 MSMP = XCRC & 0x02 '// MSGM parity (0=pair, 1=odd) FIEL 0x46 MBWP = XCRC & 0x01 '// MSGW parity (0=pair, 1=odd) FIEL 0x47

ADDS 1 byte (8 bit) -- 32 kbyte (256 kbit) '// source address
ADDD 1 byte (8 bit) -- 32 kbyte (256 kbit)
'// destiny address
MSEQ 1 byte (8 bit) -- 8 ebyte (64 ebit)
'// message sequence

mXCH -- microEXCHANGE PRIMITIVES, Specification 0.3 PROT 0x05 (ACTUALIZADA)
mXCH UI16 2 byte (16bit) FIEL 0x00
mXB0 = mXCH & 0xFF00 '// microEXCHANGE byte 0 FIEL 0x01 mXB1 = mXCH & 0x00FF '// microEXCHANGE byte 1 FIEL 0x02
ABWD = mXB0 & 0x0F '// address bandwidth (1B--32KB) FIEL 0x10 XLAY = mXB0 & 0xF0 '// exchange layer (0--F) FIEL 0x11
XCHA = mXB1 & 0xC0 '// exchange channel FIEL 0x20 (0=output, 1=input, 2=duplex, 3=multiplex) MSGB = mXB1 & 0x30 FIEL 0x21
'// message band (0=low[1B->32KB], 1=mid[64KB->2GB],
2=hig[4GB->128TB], 3=(ext[256TB-8EB])
MSGW = mXB1 & 0x0F '// message bandwidth (1B--8EB) FIEL 0x22 dependent on MSGB

ADDS 1 byte (8 bit) -- 32 kbyte (256 kbit) '// source address dependent on ABWD
ADDD 1 byte (8 bit) -- 32 kbyte (256 kbit)
'// destiny address dependent on ABWD
MSEQ 1 byte (8 bit) -- 8 ebyte (64 ebit)
'// message sequence dependent on MSGB & MSGW

nXCH -- nanoEXCHANGE PRIMITIVES, Specification 0.3

PROT 0x05 (ACTUALIZADA)

nXCH UI08 1 byte (8 bit) FIEL 0x30
BWAD = nXCH & 0xC0 / 10 - 9 '// bandwidth address (0=16bit, 1=24bit, 2=32bit, 3=64bit) FIEL 0x31 MSGB = nXCH & 0x30 '// message band FIEL 0x32 (0=1B--32KB, 1=64KB--2GB,
2=4GB--128TB, 3=256TB--8EB)
MBWD = nXCH & 0x0F '// message bandwidth (1B--8EB) FIEL 0x33
ADDD : 2--8 '// destiny address depends on BWAD
CONT : 1--8192P
'// message sequence depends on SIZE

pXCH -- picoEXCHANGE PRIMITIVES, Specification 0.3

PROT 0x05 (POR ACTUALIZAR)

pXCH UI04 1 nibble (4 bit) FIEL 0x40
BWAD = pXCH & 0xC - 9 '// bandwidth address 0=00bit, 1=08bit, 2=16bit, 3=32bit) FIEL 0x41 BWSZ = pXCH & 0x3 '// bandwidth size (0=00bit, 1=08bit, 2=16bit, 3=32bit) FIEL 0x42
ADDS : 0--32 '// depends on BWAD SIZE : 0--32 '// depends on BWSZ
CONT : 0--8192P '// depends on SIZE

MBXS -- V443|BL64 MEMORY BLOCK EXTENSION SUITE, Specif 0.3 PROT 0x06 (ACTUALIZADA)

V443 UI64 8 byte (64bit) FIEL 0x00
HEAD = V443 & 0xFF00000000000000 / 0x100000000000000
'// head byte FIEL 0x01
ALLO = V443 & 0x00FF000000000000 / 0x001000000000000
'// allocation byte FIEL 0x02
TYPB = V443 & 0x0000FF0000000000 / 0x000010000000000
'// type byte FIEL 0x03
ATTR = V443 & 0x000000FF00000000 / 0x000000100000000
'// attributes byte FIEL 0x04
PERM = V443 & 0x00000000FF000000 / 0x000000001000000
'// permissions byte FIEL 0x05
PRIV = V443 & 0x0000000000FF0000 / 0x000000000010000
'// priviledge byte FIEL 0x06
USER = V443 & 0x000000000000FF00 / 0x000000000000100
'// user byte FIEL 0x07
SUBB = V443 & 0x00000000000000FF
'// sub header byte FIEL 0x08

SYST = HEAD & 0x80 - 0x7F '// system flag (0=storage, 1=system) FIEL 0x10 PUBL = HEAD & 0x40 - 0x3F '// public flag (0=private, 1=public) FIEL 0x11 BAND = HEAD & 0x30 - 0x2D '// size band FIEL 0x12 (0= 1B--32KB, 1=64KB--2GB,
2=4GB--128TB, 3=256TB--8EB)
SIZE = HEAD & 0x0F FIEL 0x13 '// size value (0--F)
ADDR = ALLO & 0xF0 - 0xE1 '// addressing (0B--16KB) FIEL 0x20 SHAL = ALLO & 0x0F '// sub header FIEL 0x21

BTYP = TYPB & 0xF0 - 0xE1 '// block type FIEL 0x30 MODE = TYPB & 0x0F '// type mode FIEL 0x31 depends on BTYP
DIR = ATTR & 0xC0 - 0xBD FIEL 0x40 '// directory (0=none, 1=parent, 2=child, 3=both) LNK = ATTR & 0x30 - 0x2D FIEL 0x41 '// link DUP = ATTR & 0x0C - 0x09 FIEL 0x42 '// duplicate ADJ = ATTR & 0x03 FIEL 0x43 '// adjunct

ROOT = PERM & 0xC0 - 0xBD FIEL 0x50 '// root (0=none, 1=exec|read, 2=conf|write, 3=both) USER = PERM & 0x30 - 0x2D FIEL 0x51 '// user GROU = PERM & 0x0C - 0x09 FIEL 0x52 '// group OTHR = PERM & 0x03 FIEL 0x53 '// other

DIR = PRIV & 0x80 - 0x7F FIEL 0x60 '// directory flag (0=prohibited, 1=allowed) LNK = PRIV & 0x40 - 0x3F FIEL 0x61 '// link flag DUP = PRIV & 0x20 - 0x1F FIEL 0x62 '// duplicate flag ADJ = PRIV & 0x10 - 0x0F FIEL 0x63 '// adjunct flag MOD = PRIV & 0x08 - 0 x07 FIEL 0x64 '// modify flag COP = PRIV & 0x04 - 0x03 FIEL 0x65 '// copy flag LST = PRIV & 0x02 - 0x01 FIEL 0x66 '// list flag DEL = PRIV & 0x01 FIEL 0x67 '// delete flag
OWNU = USER & 0xF0 - 0xE1 FIEL 0x70 '// owner user (0B--16KB) GRPU = USER & 0x0F FIEL 0x71 '// group user
ACCS = SUBH & 0x80 - 0x7F FIEL 0x80 '// access (0=open, 1=close) PRVT = SUBH & 0x40 - 0x3F FIEL 0x81 '// private (0=public, 1=private) STAT = SUBH & 0x30 - 0x2D FIEL 0x82 '// status (0--3) SUBT = SUBH & 0x0F FIEL 0x83 '// sub header type (0--F)
ADDS : 0--16K '// depends on ADDR SUBH : 0--16K '// depends on SHAL OWNR : 0--16K '// depends on OWNU GRUP : 0--16K '// depends on GRPU CONT : 8--8192P '// depends on BAND and SIZE
MBXS -- V413|BL16 MEMORY BLOCK EXTENSION SUITE, Spec 0.3 PROT 0x07 (ACTUALIZADA)
V413 UI32 4 byte (32bit) FIEL 0x00
HEAD = V413 & 0xFF000000 / 0x1000000 '// head byte FIEL 0x01
ALLO = V413 & 0x00FF0000 / 0x0010000
'// allocation byte FIEL 0x02
TYPB = V413 & 0x0000FF00 / 0x0000100
'// type byte FIEL 0x03
ATTR = V413 & 0x000000FF
'// attributes byte FIEL 0x04

SYST = HEAD & 0x80 - 0x7F FIEL 0x10 '// system flag (0=storage, 1=system) PUBL = HEAD & 0x40 - 0x3F FIEL 0x11 '// public flag (0=private, 1=public) BAND = HEAD & 0x30 - 0x2D FIEL 0x12 '// size band (0=1B--32KB, 1=64KB--2GB,
2=4GB--128TB, 3=256TB--8EB)
SIZE = HEAD & 0x0F FIEL 0x13 '// size value (0--F)
ADDR = ALLO & 0xF0 - 0xE1 FIEL 0x20 '// addressing (0B--16KB) SHAL = ALLO & 0x0F FIEL 0x21 '// sub header

BTYP = TYPB & 0xF0 - 0xE1 FIEL 0x30 '// block type MODE = TYPB & 0x0F FIEL 0x31 '// type mode Dependent on BTYP
DIR = ATTR & 0xC0 - 0xBD FIEL 0x40 '// directory (0=none, 1=parent, 2=child, 3=both) LNK = ATTR & 0x30 - 0x2D FIEL 0x41 '// link DUP = ATTR & 0x0C - 0x09 FIEL 0x42 '// duplicate ADJ = ATTR & 0x03 FIEL 0x43 '// adjunct

ADDS : 0--16K '// depends on ADDR
SUBH : 0--16K '// depends on SHAL CONT : 4--8192P '// depends on BAND and SIZE

MBXS -- V301|MB31|BL16 MEMORY BLOCK EXTENSION SUITE, Spec 0.3 PROT 0x08 (ACTUALIZADA)
V301 UI16 2 byte (16bit) FIEL 0x00
HEAD = V301 & 0xFF00 / 0x100
'// head byte FIEL 0x01
ALLO = V301 & 0x00FF
'// allocation byte FIEL 0x02

SYST = HEAD & 0x80 - 0x7F FIEL 0x10 '// system flag (0=storage, 1=system) PUBL = HEAD & 0x40 - 0x3F FIEL 0x11 '// public flag (0=private, 1=public) BAND = HEAD & 0x30 - 0x02 '// size band FIEL 0x12 (0=1B--32KB, 1=64KB--2GB,
2=4GB--128TB, 3=256TB--8EB)
SIZE = HEAD & 0x0F FIEL 0x13 '// size value (0--F)
ADDR = ALLO & 0xF0 - 0xE1 FIEL 0x20 '// addressing (0B--16KB) SHAL = ALLO & 0x0F FIEL 0x21 '// sub header

ADDS : 0--16K '// depends on ADDR
SUBH : 0--16K '// depends on SHAL

CONT : 2--8192P '// depends on BAND and SIZE
MBXS -- V200 MEMORY BLOCK EXTENSION SUITE, Spec 0.3 PROT 0x09 (ACTUALIZADA)
V200 UI08 1 byte (8bit) FIEL 0x00
HEAD = V200 & 0xFF FIEL 0x01
'// head byte
SYST = HEAD & 0x80 - 0x7F FIEL 0x10 '// system flag (0=storage, 1=system) PUBL = HEAD & 0x40 - 0x3F FIEL 0x11 '// public flag (0=private, 1=public) MCRO = HEAD & 0x20 - 0x1F FIEL 0x14 '// macro flag (0=micro, 1=macro) BLCK = HEAD & 0x10 - 0xF FIEL 0x15 '// block flag (0=free, 1=blocked) BWAD = HEAD & 0x0C FIEL 0x16 '// bandwidth address (0=00bit, 1=08bit, 2=16bit, 3=32bit) BWSZ = HEAD & 0x03 FIEL 0x17 '// bandwidth size (0=08bit, 1=16bit, 2=32bit, 3=64bit)
ADDS : 0bit--32bit '// depends on BWAD SIZA : 8bit--64bit '// depends on BWSZ
ADDR : 0--2^32 '// depends on ADDS SIZE : 1--2^64 '// depends on SIZE
CONT : 2--8192P '// depends on SIZE

SUBH -- SUBH|SUBS HEADER BYTE, Specification 0.3
subh sub_header_byte_heading '// included in V404|V443 header
SUBH = V404 & 0xFF
'// sub header byte
ACCS = SUBH & 0x80 - 0x7F FIEL 0x80 '// access (0=open, 1=close) PRVT = SUBH & 0x40 - 0x3F FIEL 0x81 '// private (0=public, 1=private) STAT = SUBH & 0x30 - 0x2D FIEL 0x82 '// status (0--3) SUBT = SUBH & 0x0F FIEL 0x83 '// sub header type (0--F)
subs sub_header_byte_subheading '// included in V404|V443 sub header

SUBS UI08 (1 Byte)

'// sub header byte

ACCS = SUBS & 0x80 - 0x7F '// access (0=open, 1=close) PRVT = SUBS & 0x40 - 0x3F '// private (0=public, 1=private) STAT = SUBS & 0x30 - 0x2D '// status (0--3) SUBZ = SUBS & 0x0F '// sub header size (1--32K)
Powered by Google Project Hosting