?
This commit is contained in:
106
5i24/utils/dos/source/LBP.PAS
Executable file
106
5i24/utils/dos/source/LBP.PAS
Executable file
@@ -0,0 +1,106 @@
|
||||
const
|
||||
{ Little Binary Protocol }
|
||||
{ Copyright (C) 2008 MESA Electronics. All rights reserved. }
|
||||
{ TOKEN VALUE TYPE FUNCTION }
|
||||
{ Direct }
|
||||
LBPADDDATA_byte = $0; { Address or Data }
|
||||
LBPCOMMAND_byte = $40; { Command function }
|
||||
LBPWRITE_byte = $20; { Write command }
|
||||
LBPD1_byte = $0; { One byte data }
|
||||
LBPD2_byte = $1; { Two byte data }
|
||||
LBPD4_byte = $2; { Four byte data }
|
||||
LBPD8_byte = $3; { Eight byte data }
|
||||
LBPA0_byte = $0; { No address included, Last address used }
|
||||
LBPA2_byte = $4; { Two byte address included }
|
||||
LBPINC_byte = $8; { Increment address }
|
||||
LBPRPCINCDATA_byte = $10; { Write includes data within RPC }
|
||||
{ FIFO Wait token for FIFO with timeout }
|
||||
LBPFIFO_byte = $50; { FIFO command }
|
||||
LBPQRH_byte = $0; { Wait for Queued Readback FIFO half full }
|
||||
LBPQRE_byte = $1; { Wait for Queued Readback FIFO not empty }
|
||||
LBPIRH_byte = $2; { Wait for Immediate Readback FIFO half full }
|
||||
LBPIRE_byte = $3; { Wait for Immediate Readback FIFO not empty }
|
||||
LBPQFH_byte = $4; { Wait for Queued Command/data FIFO not half full }
|
||||
LBPQFF_byte = $5; { Wait for Queued Command/data FIFO not full }
|
||||
LBPIFH_byte = $6; { Wait for Immediate Command/data FIFO not half full }
|
||||
LBPIFF_byte = $7; { Wait for Immediate Command/data FIFO not full }
|
||||
{ Rpc }
|
||||
LBPRPC_byte = $80; { Rpc commands 0..63 }
|
||||
LBPRPCEND_byte = $0; { End of Rpc marker }
|
||||
LBPLOCAL_byte = $C0; { LBP Local Functions 0..31 }
|
||||
{ LBP Local R/W locations Read at Cx Write at Ex }
|
||||
LBPLISTEN_byte = $C0; { Unit to listen }
|
||||
LBPSTATUS_byte = $C1; { Error status 0 for no errors }
|
||||
LBPENACRC_flag = $C2; { Non-zero to enable CRCs }
|
||||
LBPCRCERRS_byte = $C3; { Number of CRC errors }
|
||||
{ LBPENASEQ C4h %flag Non-zero to enable Sequence }
|
||||
{ LBPSEQ C5h %byte Sequence number }
|
||||
LBPREMSWMODE_byte = $C6; { Software mode of remote device }
|
||||
LBPREMCLRFAULT_flag = $C7; { Write true to clear faults, false when complete }
|
||||
LBPRPCMEM_flag = $CA; { Non-zero to allow access to RPC memory }
|
||||
LBPCHARTIMEOUT_byte = $CB; { Command frame timeout in (n + 1 Milliseconds USB) }
|
||||
LBPNONVOL_flag = $CC; { Set to access Non Volatile memory }
|
||||
{ LBP Special locations }
|
||||
{ Read only }
|
||||
LBPCARDNAME0_byte = $D0; { Cardname character0, Read only }
|
||||
LBPCARDNAME1_byte = $D1; { Cardname character1, Read only }
|
||||
LBPCARDNAME2_byte = $D2; { Cardname character2, Read only }
|
||||
LBPCARDNAME3_byte = $D3; { Cardname character3, Read only }
|
||||
LBPCAPABILITY_byte = $D4; { Capability bits }
|
||||
LBPREMREVISION_byte = $D5; { Software revision of remote device }
|
||||
LBPREMHWMODE_byte = $D6; { Hardware Mode of remote device }
|
||||
LBPREMFAULT_byte = $D7; { Fault status of remote device }
|
||||
LBPADDRESSL_byte = $D8; { Current address Low byte, Read only }
|
||||
LBPADDRESSH_byte = $D9; { Current address High byte, Read only }
|
||||
LBPVERSION_byte = $DA; { Software Version, Read only }
|
||||
LBPUNITID_byte = $DB; { UnitId Read only }
|
||||
LBPRPCPITCH_byte = $DC; { RPC pitch, Read only }
|
||||
LBPRPCSIZEL_byte = $DD; { RPC Memory size Low byte, Read only }
|
||||
LBPRPCSIZEH_byte = $DE; { RPC Memory size High byte, Read only }
|
||||
LBPREADCOOKIE_byte = $DF; { Returns 5Ah }
|
||||
{ Write only }
|
||||
{ LBPSETLOCK0 F0h %byte Reset by protected function }
|
||||
{ LBPSETLOCK1 F1h %byte Reset by protected function }
|
||||
{ LBPSETLOCK2 F2h %byte Reset by protected function }
|
||||
{ LBPSETLOCK3 F3h %byte Reset by protected function }
|
||||
LBPSETLEDS_byte = $F7; { Set LEDS }
|
||||
LBPSETADDRESSL_byte = $F8; { Current address Low byte, Write only }
|
||||
LBPSETADDRESSH_byte = $F9; { Current address High byte, Write only }
|
||||
LBPADDADDRESS_byte = $FA; { Add byte to Current address, Write only }
|
||||
LBPSETUNITID_byte = $FD; { Non-Volatile Listen Unit ID, Write only }
|
||||
LBPPROCRESET_byte = $FE; { Resets processor when 5A hex is written }
|
||||
LBPWRITERESET_byte = $FF; { Resets parser }
|
||||
LBPFUNCTIONMASK_byte = $C0;
|
||||
LBPRWMASK_byte = $F0;
|
||||
LBPRPCNUMMASK_byte = $3F;
|
||||
LBPLOCALNUMMASK_byte = $1F;
|
||||
LBPLOCALSPECIAL_byte = $10;
|
||||
LBPFIFOSELMASK_byte = $7;
|
||||
LBPRESETCODE_byte = $5A; { Must write this to reset }
|
||||
LBPCOOKIECODE_byte = $5A; { Returned by LBPREADCOOKIE }
|
||||
LBPTRUE_flag = $FF; { Byte true }
|
||||
LBPFALSE_flag = $0; { Byte false }
|
||||
{ NonVol types }
|
||||
LBPNONVOLEEPROM_byte = $1;
|
||||
LBPNONVOLFLASH_byte = $2;
|
||||
LBPFLASHERASE_byte = $FE;
|
||||
LBPFLASHWRITE_byte = $FD;
|
||||
LBPFLASHOFFSET_ptr = $8000;
|
||||
LBPFLASHERASESIZE_ptr = $8004;
|
||||
LBPFLASHWRITESIZE_ptr = $8005;
|
||||
LBPFLASHCOMMIT_ptr = $8007;
|
||||
{ Capability codes }
|
||||
LBPCRCCAPABLE = $1;
|
||||
LBPFIFOCAPABLE = $2;
|
||||
LBPEEPROMCAPABLE = $4;
|
||||
LBPFLASHCAPABLE = $8;
|
||||
LBPINDIRECTCAPABLE = $10;
|
||||
{ LBP Status bits }
|
||||
LBPCRCERR = $1;
|
||||
{ LBPTXCSUMERR 02h }
|
||||
{ LBPSEQERR 04h }
|
||||
LBPWDOGERR = $8;
|
||||
LBPBUFFERERR = $10;
|
||||
LBPINVALIDADDERR = $20; { Access to protected memory or I/O }
|
||||
LBPTIMEOUTERR = $40; { Timeout waiting for complete Command }
|
||||
LBPFIFOTIMEOUTERR = $80; { Timeout waiting for FIFO }
|
||||
Reference in New Issue
Block a user