Brouhabouha Forh repackaged
Description of the page content
Brouhabouha Forth, a Forth-94 sistem for QL written by Ewald Pfau in 1991-1994, repackaged with modern format documentation and other improvements.
README file
Description
This archive contains a distribution of QL Brouhabouha Forth, a Forth-94 Standard system for QDOS written by Ewald Pfau in 1991-1994.
The terms of distribution of the original program have been respected: all original files are included, in its own directory.
The latest version of this distribution can be downloaded from:
This distribution was prepared by Marcos Cruz (programandala.net), in 2016-01, in order to make this Forth system easier to use and preserve it for the future.
Differences from the original distribution
The QDOS file header of the executable has been restored. It was missing in the old distributions found on the Internet (in ZIP or LHA archive formats).
Most library source files of the original distribution are Forth blocks files; they have been converted to text. The format of the comments and other layout details have been improved manually in order to make the sources easier to read and to use in the text version. Both versions, blocks and text, have been included.
The filename extensions of the source files have been changed after a modern convention: .fb for Forth blocks files; .fs for Forth text sources. They have been updated also in the sources, were some source filenames are used.
The filename "edb.hlp", a single block file which contains a key shortcuts cheatsheet of the blocks editor (but not used by it) has been renamed to "editorhelp.fb".
In order to protect the executable from loosing its QDOS file header again, it is included only in QDOS media images, which also contain the whole system, ready to be used on any QL or SMSQ/E emulator.
Distribution archive files
README.adoc: This file (master in Asciidoctor format).
README.html: This file, converted to HTML.
README.epub: This file, converted to EPUB.
README.pdf: This file, converted to PDF.
README.txt: This file, converted to plain text (UTF-8 encoded).
doc: Documentation.
doc/bf.adoc: Edited manual (master in Asciidoctor format).
doc/bf.html: Edited manual, converted to HTML.
doc/bf.epub: Edited manual, converted to EPUB.
doc/bf.txt: Edited manual, converted to plain text (UTF-8 encoded).
media: QDOS media, for emulators.
media/bf.flp: The Forth system in a high-density floppy disk image.
media/bf.win: The Forth system in a 2 Mib SMSQ hard disk image.
src/: The Forth library sources.
original/: The original distribution, untouched.
original/files/: The original files, except the executable, will all names changed to lowercase, and "edb.hlp" renamed to "editorhelp.fb".
original/bf199405.img: The original files with their original names, including the fixed executable (called bf192[1][2]), in a double-density floppy disk image.
Makefile: the GNU make’s Makefile used to build the documentation from the Asciidoctor files.
QDOS media files
The contents of "bf.flp" and "bf.win" are identical:
README.txt: This file, converted to plain text (UTF-8 encoded).
bf.txt: Edited manual, converted to plain text (UTF-8 encoded).
bf192_exe: Brouhabouha Forth executable, with 192 KiB of total data space[1] and the blocks editor loaded[2].
bf192_noedit_exe: Brouhabouha Forth executable, with 192 KiB of data space[1] and the blocks editor removed[3]
*.fs: Forth library sources.
*.fb: Forth library sources in blocks format.
original: Directory which contains the original distribution untouched (except the executable, which has been fixed).
Library source files
QL Brouhabouha Forth includes the following optional library files.
Note: All ".fs" files except two have also a Forth blocks version (with the ".fb" filename extension).
- a68.fs
Laxen & Perry’s 68000 F83 assembler.
- arr.fs
Access to multi dimensional arrays.
- asc2blk.fs
Conversion between block files and ASCII files.
- binsort.fs
Binary sort.
- cores.fs
Some Forth redefinitions for words from ANS Forth Core Extended, Double and String wordsets. As well some common definitions often needed, secondary evaluation of number division, and interpreter number conversion.
- crlf2lf.fs
End of line conversion tool.
- editorhlp.fb
A Forth block with the blocks editor keys cheatsheet.
- epson.fs
Tool for printing on EPSON printer, and for conversion of character sets in files, QL/IBM.
- heaptst.fs
Random test of a dynamic heap.
- oof.fs
Object Oriented Programming System, Version 3.1, by John R. Hayes, Applied Physics Laboratory Johns Hopkins University.
- oofex.fs
Extension to oof.fs.
- primes.fs
Prime numbers search.
- prt.fs
Forth blocks printing tool.
- split.fs
Files manipulation tools.
- uft.fs
Misc extensions.
- vector.fs
Graphics with sin table.
1. 112 KiB for code, 48 KiB for headers and 32 KiB for data. These values can be changed byadjust-sizes
and then create a new executable withsave-file
. See Implementation characteristics and special behaviour in the manual.2. With the block editor loaded as-is, for free use remain about 42 KiB for code, 19 KiB for data, 22 KiB for headers. See Implementation characteristics and special behaviour in the manual.3. With the block editor removed, for free use remain about 59 KiB for code, 27 KiB for data, 23 KiB for headers. See Implementation characteristics and special behaviour in the manual.