[img] BBC BASIC Programming Libraries
 MDFS::System.Library.BLib Search  

Library Documentation Functions  
AddrOf (L) AddrOf.txt PROCAddrOf_* Find the address of a variable, provides the functionality of ^identifier found in BBC BASIC for Windows, PDP-11 BASIC and the BasicPlus extensions to ARM BASIC.
BASIC (L)
BASIC.bbc
    FNBASIC_RunAs
  FNBASIC_SizeOfReal
  FNBASIC_Type
  FNBASIC_Ver
Functions to find various information about the running BBC BASIC.
BBCFile (L) BBCFile.txt PROCBBC_WrStr()
PROCBBC_WrInt()
PROCBBC_WrReal()
  FNBBC_Rd()
Read and write data files in Acorn BBC BASIC format. Previously the 'FastIO' library to speed up file access on NFS, but ironically, is actually slower on all other filing systems! However, the library is useful to read and write BBC data files on other platforms. See also DataFile for similar VisualBasic and 'C' code.
BBCKbd.bbc (L) BBCKbd.txt   FNkbd_Get
  FNkbd_Inkey()
The Win/BBCKbd library provides functions to replace GET and INKEY on Window™ that return regular unique top-bit-set values for function and editing keys in Acorn BBC/RISC OS ordering, and also returns distinct values for keys pressed with Shift, Control and Alt.
BBCMOS (L)     FNmos_* BBC MOS functions.
BFont (listing)
BFont.bbc
  PROCBFont_Load()
PROCBFont_Save()
Functions to load and save bitmap fonts.
Character (L)     FNgs()
  FNc0()
  FNc1()
  FNc2()
Functions to convert control and top-bit characters to encoded strings.
Graphics/Circle (L)   PROCcircle() The Circle library draws filled or outline full or partial circles.
Choices (L)
Choices.bbc
    FNChoices_Find()
PROCChoices_Rd()
PROCChoices_Set()
 
Close (L)   PROCClose_All  
CmdLine (L)
CmdLine.bbc
CmdLine.txt   FNcl() Command line parsing. Updated to process "quoted" strings correctly.
Context (L) Context.txt   FNfs_RdCSD
PROCfs_WrCSD()
Read and write filing system context independantly of the filing system being used. It allows programs to read the current context, change the current directory and/or filing system, and then restore back to the previous state.
Date (L)
Date.bbc
Date.txt PROCDate_ToOrd()
PROCDate_FromOrd()
  FNDate_Since()
  FNDate_DayOfWeek()
  FNDate_FromDay()
  FNDate_FromMonth()
  FNDate_ToDay()
  FNDate_ToMonth()
  FNDay()
  FNMon()
The Date library contains functions for converting dates between a 5-byte centisecond count and real-world date and time values and for converting between date numbers and english language date names.
DeepKey (L) DeepKey.txt   FNdeep_inkey()
  FNdeep_get
Returns 'deep' keypresses encoding the character, physical key and modifier keys.
Delay (L)   PROCDelay()  
Detokenise
DisAssem DisCode.txt   FNDis_Name()
  FNDis_Code()
Disassembly functions for various CPUs and generic OSWORD disassembly interface.
DiskIO (L) DiskIO.txt   FNdisk()
  FNdisk_err()
  FNscsi()
  FNscsi_err()
  FNlvfs()
Functions to make low-level disk sector access.
FastString (L)     FNrd()
PROCwr()
Read and write strings from and to files using fast file I/O.
FDate (L) FDate.txt   FNf_date()
  FNf_time()
PROCf_date()
PROCf_time()
The FDate library contains functions for extracting and creating dates and times in filing system format.
File (L)
File.bbc
File.txt PROCf_init
  FNfn_root()
  FNfn_leaf()
  FNfn_path()
  FNfn_ext()
  FNfn_noext()
  FNfn_fullpath()
PROCf_gbpb()
PROCf_cdir()
  FNf_name()
  FNf_openin()
  FNf_openup()
  FNf_openout()
  FNf_info()
PROCf_settype()
  FNfs
Platform-independant functions to access files and manipulate filenames and pathnames.
FileIO (L)
Generic/FileIO
    FNfile()
PROCgbpb()
  FNgbpb()
  FNgbpb8()
  FNargs()
  FNargsA()
  FNfs
Functions to call various file entry points. Generic/FileIO is a generic version modified to be platform-independant and works on BBC, RISC OS, DOS, UNIX and Windows.
FileIO2 (L)     FNf_info()
PROCf_gbpb()
  FNf_scan()
  FNf_args()
  FNf_argsA()
  FNfs
FileIO library using the same naming system as the File library.
FileCSV (L)   PROCcsv_rd()
PROCcsv_wr()
 
Filename (L) Filename.txt   FNfn_bbctodos()
  FNfn_bbctounix()
  FNfn_dostobbc()
  FNfn_dostounix()
  FNfn_unixtobbc()
  FNfn_unixtodos()
  FNfn_frombbc()
  FNfn_fromdos()
  FNfn_fromunix()
  FNfn_tobbc()
  FNfn_todos()
  FNfn_tounix()
Functions to convert filenames between BBC, DOS/Windows and Zip/Unix/URL format.
FInfo (L) FInfo.txt   FNf_info()
  FNf_date()
  FNf_time()
  FNf_access()
PROCf_date()
PROCf_time()
The FInfo library contains functions for reading full file metadata infomation (creation and modification times and dates, account data, etc) on filing system objects and for translating dates to and from filing system format.
FName (L) FName.txt   FNfn_bbczip()
  FNfn_dosbbc()
  FNfn_bbcdos()
  FNfn_doszip()
Functions to convert simple filenames between BBC, DOS/Windows and Zip/Unix/URL format.
Win/Font1.bbc (L) Docs/Font1.txt   FNFont_Select()  
GoMMC (L)   PROCmmc_()
  FNmmc_Add()
  FNmmc_Cat()
  FNmmc_Find()
  FNmmc_Sort()
  FNmmc_Type()
GoMMC/GoSDC access and manipulation functions.
HiBASIC (L)
HiBASIC2 (L)
HiBASIC.txt   FNhimem0
  FNhimem1
  FNhimem2
The HiBASIC library provides functions to allow more efficient use of memory on the 6502 second processor when running BBC BASIC without needing to run HiBASIC.
IntToMoney (L)     FNIntToMoney() Converts integers into an english language currency string.
IntToTxt (L) IntToTxt.bbc (L)   FNIntToTxt() Converts integers into an english language string.
IP (L) IP.txt   FNIP_Stn()
  FNIP_StnFixed()
  FNIP_StnNum()
  FNswap_16()
  FNswap_32()
The IP library provides IP communication functions similar to the Net library to manipulate IP addressing.
Keyboard.bbc (L) Keyboard.txt   FNkbd_Get
  FNkbd_Inkey()
The Win/Keyboard library provides functions to replace GET and INKEY on Window™ that return regular unique top-bit-set values for function and editing keys, and also returns distinct values for keys pressed with Shift, Control and Alt.
LocalError (L)
LocalErr (L)
LocalErr.txt PROCerr_local() Allows the use of LOCAL ERROR:ON ERROR LOCAL in 6502 BASIC.
LVFS (L) LVFS.txt PROClvfs_* Laserdisk functions.
MAlloc (L) MAlloc.txt   FNm_alloc()
  FNm_free()
  FNm_realloc()
  FNm_zalloc()
MAlloc provides functions and procedures to claim and release blocks of memory in the BASIC heap. The library keeps track of released memory and tries to reuse it as efficiently as possible.
MemIO (L) MemIO.txt PROCmem_rd()
PROCmrm_wr() PROCio_call()   FNio_call()
Procedures to read from and write blocks of I/O memory.
Memory (L)
Memory16b (L)
MemAddrs   FNrm()
PROCwm()
Function and procedure to read from and write to any banked or paged memory on the BBC series of computers.
  Messages.bbc (L)   FNMessages_Rd() Message translation.
MOS (L)     FNbyte()
  FNfx()
Provides wrappers around OSBYTE allowing them to be easily called from BASIC.
Mouse (L)   PROCPointer_Init
PROCPointer_Draw
PROCPointer_UntilAction
PROCMouse_Init
PROCMouse_UntilAction
PROCMouse_Read
 
Net (L) Net.txt   FNNet_Tx()
  FNNet_TxCount()
  FNNet_RxOpen()
  FNNet_Rx()
  FNNet_RxRead()
PROCNet_RxKill()
  FNNet_Err()
  FNNet_Stn()
  FNNet_StnFixed()
  FNNet_StnNum()   FNNet_Info()
The Net library provides network communication functions to allow a program to communicate with other machines via a connected network. The physical network link or links used by the transmitted messages is irrelevant, as long as the link is accessed through the standard Acorn Networking system calls.
NetFS (L)
Generic/NetFS
NetFS.txt   FNNetFS_Op()
  FNNetFS_OpN()
The NetFS library provides functions to communicate with a network file server with the Network Filing System file server protocol interface. The physical network link or links used by the transmitted messages is irrelevant, as long as the link is accessed through the standard Acorn Networking system calls. Generic/NetFS is a modified version that contains code to work around bugs in the RISC OS 3.xx NetFS.
NetServer (L)   PROCNet_ServerList()
PROCNet_Server
  FNNet_ServerPort()
 
NetUtil (L) NetUtil.txt   FNNet_Addr()
  FNNet_Ping()
  FNNet_Type()
Networking support functions to do things such as looking up users, finding if a station is present, etc.
Number (L)
Number.bbc (L)
Number.txt   FNh0()
  FNh()
  FNd0()
  FNd()
  FNo0()
  FNo()
  FNb0()
  FNb()
  FNdrv()
  FNDrv()
Functions to convert numbers to various fixed-width strings.
Path (L) Path.txt   FNfn_root()
  FNfn_leaf()
  FNfn_path()
  FNfn_noext()
  FNfn_ext()
  FNfn_fullpath()
Functions manpipulate filenames and pathnames.
Path.bbc (L) Path.txt   FNfn_root()
  FNfn_leaf()
  FNfn_path()
  FNfn_noext()
  FNfn_ext()
  FNfn_fullpath()
Functions manpipulate DOS/Windows filenames and pathnames.
Pathname (L)     FNPath_Name
  FNPath_Full
  FNPath_Lib
  FNPath_LibFull
  FNPath_URD
  FNPath_URDFull
Reads the full pathname of the current directory, the current library and the user root directory.
Phone (L)
Phone.bbc (L)
Phone.txt   FNPhone_FromStr()
  FNPhone_ToStr()
  FNPhone_ToStrF()
The Phone library provides functions to display, store and retrive UK telephone numbers in the full 01 to 09 ranges.
PhoneG (L)
PhoneG.bbc (L)
Phone.txt   FNPhone_FromStr()
  FNPhone_ToStr()
  FNPhone_ToStrF()
The PhoneG library provides functions to display, store and retrive pre-2009 UK geographical telephone numbers (01 and 02 ranges).
ProgEnv (L) ProgEnv.txt   FNOS_GetEnv
PROCos()
PROCexit()
ProgEnv provides functions to determine the running program's environment and command line parameters, to call other programs, exit to the calling program and set the exit return value.
RunPath (L)     FNPath_Run Returns the path to the running program.
Reg.bbc (L) Reg.txt   FNReg_Rd()
PROCReg_Wr()
Functions to read and write strings in the HKEY_CURRENT_USER part of the Windows™ registry.
Registry.bbc (L) Registry.txt PROCRegistry_Init
  FNRegistry_Rd()
  FNRegistry_RdBig()
  FNRegistry_RdInt()
  FNRegistry_RdStr()
PROCRegistry_Wr()
PROCRegistry_WrBig()
PROCRegistry_WrInt()
PROCRegistry_WrStr()
  FNRegistry_List()
  FNRegistry_Keys()
  FNRegistry_Vals()
  FNRegistry_Info()
  FNRegistry_Del()
General functions to read and write any part of the Windows™ registry.
Shift (L)   FNror()
  FNrol()
  FNshr()
  FNshl()
  FNsra()
Functions to shift and rotate integers.
Skt (L) Skt.txt   FNskt_open()
  FNskt_bind()
  FNskt_listen()
  FNskt_accept()
  FNskt_connect()
  FNskt_recv()
  FNskt_send()
PROCskt_shutdown()
PROCskt_close()
  FNdns_gethost()
IP Sockets library, short-form names.
Skt2 (L) Skt.txt   FNskt_open()
  FNskt_bind()
  FNskt_listen()
  FNskt_accept()
  FNskt_connect()
  FNskt_recv()
  FNskt_send()
PROCskt_shutdown()
PROCskt_close()
  FNdns_gethost()
IP Sockets library, short-form names.
Socket (L) Socket.txt   FNSocket_Open()
  FNSocket_Bind()
  FNSocket_Listen()
  FNSocket_Accept()
  FNSocket_Connect()
  FNSocket_Recv()
  FNSocket_Send()
PROCSocket_Shutdown()
PROCSocket_Close()
  FNDNS_GetHost()
IP Sockets library, long-form names.
Sort (L) Sort.bbc (L) PROCSort_Str()  
String (L) String.bbc (L)   FNs()
  FNuc()
  FNlc()
Functions to convert strings to upper and lower case and to strip spaces.
StringIO (L)     FNrd()
PROCwr()
Read and write strings from and to files.
Suffix (L) suffix   FNfn_sfx() Ensure full-length filename extensions on filenames with truncated extensions by reference to a mimemap/suffixes list.
Teletext (L) Teletext.txt   FNttx_rows()
  FNttx_title()
PROCttx_display()
Teletext page display functions.
TextIO.bbc (L)   PROCWin_TextIO Attach BBC BASIC I/O to Windows console.
Time (L)     FNtime
  FNTime
PROCtime
  FNdate
  FNDay()
  FNMon()
  FNDate_DayOfWeek()
Read RTC time, correcting for year overflow, etc.
Tokenise (L)
Tokenise.bbc (L)
Tokenise.txt   FNTokenise_() The Tokenise library provides functions for tokenising BBC BASIC program code. It runs on 6502, Z80, 32000, RISC OS, DOS and Windows BBC BASIC.
Variable (L)
Variable.bbc (L)
Variable.txt PROCVar_Assign() Dynamically create variables and assign values to them.
Version (L)
Windows     Windows™ libraries.
BLib.zip Names.txt   All BASIC libraries in one download. list.htm
Develop     Libraries in the process of being developed.
Unsorted     Some unsorted libraries. These have been tinkered with over the years are in general are in an unfinished state. In particular, they are not named correctly, may not have appropriate entry parameters and may have undefined dependancies. They are completely undocumented, but are made available if they are useful.
Testing      

HOME   DOCUMENTS   LINKS   RECENT CHANGES   BROWSE FILES
Authored by J.G.Harston
Last update: 22-Apr-2020