LBR

From Just Solve the File Format Problem
(Difference between revisions)
Jump to: navigation, search
m (alternative name for ?Y?)
m (Sample files)
 
(16 intermediate revisions by 5 users not shown)
Line 1: Line 1:
{{FormatInfo|formattype=electronic|extensions={{ext|lbr}}}}
+
{{FormatInfo
'''[[LBR]]''' was a container format popular for distributing [[CP/M]] software, designed by Gary P. Novosielski. Since it had no compression of its own, it was common for individual members of {{ext|LBR}} files to be compressed with [[Squeeze]] (.?Q?), [[Crunch]] (.?Z?), or [[CrLZH]] (.?Y?). Alternatively, the whole library could be compressed with one of these methods (leading to the extensions {{ext|LQR}}, {{ext|LZR}}, {{ext|LYR}}).
+
|formattype=electronic
 +
|subcat=Archiving
 +
|extensions={{ext|lbr}}, {{ext|lqr}}, {{ext|lzr}}, {{ext|lyr}}
 +
|wikidata={{wikidata|Q6457314}}
 +
}}
 +
[[LBR]] was a container format popular for distributing [[CP/M]] software, designed by Gary P. Novosielski. Since it had no compression of its own, it was common for individual members of .LBR files to be compressed with [[Squeeze]] (.?Q?), [[Crunch]] (.?Z?), or [[CrLZH]] (.?Y?). Alternatively, the whole library could be compressed with one of these methods (leading to the extensions .LQR, .LZR, .LYR).
  
 
Under CP/M, the canonical tools for manipulating LBR files were LU.COM and NULU.COM. Other tools, such as NSWP.COM, understood both LBR and some of the closely associated compression formats.
 
Under CP/M, the canonical tools for manipulating LBR files were LU.COM and NULU.COM. Other tools, such as NSWP.COM, understood both LBR and some of the closely associated compression formats.
 +
 +
LBR has been implemented on other platforms including PC/MS-DOS, but the [[LBR (Commodore)|Commodore LBR]] format is unrelated and not compatible. (It was common in those days for different platforms to be Balkanized and not have file formats that are in any way compatible with those of other platforms, even when they served similar purposes and were inspired by other-platform formats even to the point of being named after them.)
 +
 +
== Identification ==
 +
LBR files have no signature, but they begin with a "Directory Control Entry" that has a fairly strict format. So, LBR files start with a 0x00 byte, then 11 spaces (0x20), then two 0x00 bytes, then two bytes that are not both 0x00.
  
 
== Tools ==
 
== Tools ==
  
 
* [[CFX]] (DOS/Unix)
 
* [[CFX]] (DOS/Unix)
* [http://www.seasip.info/Unix/Lar/index.html LAR] (Unix)
+
* [http://www.svgalib.org/rus/lbrate.html lbrate] by Russell Marks, c. 2001 (Unix, GPL2)
 +
* [http://www.seasip.info/Unix/Lar/index.html LAR] (Unix, tar-like interface) by John Elliott, based on Stephen C. Hemminger's original
 +
* [http://www.classiccmp.org/cpmarchives/cpm/mirrors/oak.oakland.edu/pub/cpm/arc-lbr/lu310.com lu310.com] (CP/M software)
 +
 
 +
== Sample files ==
 +
* [http://cpmarchives.classiccmp.org/cpm/mirrors/oak.oakland.edu/pub/cpm/ OAK CP/M archive] → .../*.lbr
 +
* {{DexvertSamples|archive/lbr}}
  
 
== References ==
 
== References ==
  
 
* .LBR format definition, Gary P. Novosielski, 1984-08-19 -- available as LUDEF5.DOC in many CP/M archives (e.g., [http://www.retroarchive.org/cpm/cdrom/CPM/UTILS/ARC-LBR/LUDEF5.DOC here])
 
* .LBR format definition, Gary P. Novosielski, 1984-08-19 -- available as LUDEF5.DOC in many CP/M archives (e.g., [http://www.retroarchive.org/cpm/cdrom/CPM/UTILS/ARC-LBR/LUDEF5.DOC here])
 +
** [http://www.textfiles.com/programming/FORMATS/ludef5.txt This version] renames the extension to .txt so the browser won't try to launch M$ Word to open it.
 
** '''[http://www.seasip.info/Cpm/ludef5.html HTML version]''' of the above
 
** '''[http://www.seasip.info/Cpm/ludef5.html HTML version]''' of the above
* [http://en.wikipedia.org/wiki/LBR_%28file_format%29 LBR (file format) at Wikipedia]
+
* .LBR format definition, Gary P. Novosielski, 1984-08-04 -- [http://annex.retroarchive.org/cdrom/nightowl-001/015A/LUDEF4/LUDEF4.DOC an older version of the specification]
 +
* .LBR format definition, Gary P. Novosielski, 1983-08-16 [http://cpmarchives.classiccmp.org/cpm/Software/WalnutCD/lambda/soundpot/f/lu300.lbr] use e.g. [[The Unarchiver]] to access the contained files.
 +
* .LBR format definition, Gary P. Novosielski, 1982-11-04 -- [http://cpmarchives.classiccmp.org/cpm/Software/WalnutCD/simtel/sigm/vols100/vol119/ludef1.doc an early version of the specification]
 +
* [[Wikipedia:LBR (file format)|LBR (file format) at Wikipedia]]
 +
* [http://www.textfiles.com/programming/FORMATS/arc-lbr.pro ARC vs LBR comparison (1985)]
 +
 
 +
[[Category:CP/M]]

Latest revision as of 04:19, 28 December 2023

File Format
Name LBR
Ontology
Extension(s) .lbr, .lqr, .lzr, .lyr
Wikidata ID Q6457314
LBR was a container format popular for distributing CP/M software, designed by Gary P. Novosielski. Since it had no compression of its own, it was common for individual members of .LBR files to be compressed with Squeeze (.?Q?), Crunch (.?Z?), or CrLZH (.?Y?). Alternatively, the whole library could be compressed with one of these methods (leading to the extensions .LQR, .LZR, .LYR).

Under CP/M, the canonical tools for manipulating LBR files were LU.COM and NULU.COM. Other tools, such as NSWP.COM, understood both LBR and some of the closely associated compression formats.

LBR has been implemented on other platforms including PC/MS-DOS, but the Commodore LBR format is unrelated and not compatible. (It was common in those days for different platforms to be Balkanized and not have file formats that are in any way compatible with those of other platforms, even when they served similar purposes and were inspired by other-platform formats even to the point of being named after them.)

Contents

[edit] Identification

LBR files have no signature, but they begin with a "Directory Control Entry" that has a fairly strict format. So, LBR files start with a 0x00 byte, then 11 spaces (0x20), then two 0x00 bytes, then two bytes that are not both 0x00.

[edit] Tools

  • CFX (DOS/Unix)
  • lbrate by Russell Marks, c. 2001 (Unix, GPL2)
  • LAR (Unix, tar-like interface) by John Elliott, based on Stephen C. Hemminger's original
  • lu310.com (CP/M software)

[edit] Sample files

[edit] References

Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox