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

Library Documentation Functions  
AddrOf (listing) 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 (listing)
BASIC.bbc
    FNBASIC_RunAs
  FNBASIC_SizeOfReal
  FNBASIC_Type
  FNBASIC_Ver
Functions to find various information about the running BBC BASIC.
BBCFile (listing) 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 (listing) 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.
BFont (listing)
BFont.bbc
  PROCBFont_Load()
PROCBFont_Save()
Functions to load and save bitmap fonts.
Graphics/Circle (listing)   PROCcircle() The Circle library draws filled or outline full or partial circles.
Choices (listing)
Choices.bbc
    FNChoices_Find()
PROCChoices_Rd()
PROCChoices_Set()
 
Close (listing)   PROCClose_All  
CmdLine (listing)
CmdLine.bbc
CmdLine.txt   FNcl() Command line parsing. Updated to process "quoted" strings correctly.
Context (listing) 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 (listing)
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 (listing) DeepKey.txt   FNdeep_inkey()
  FNdeep_get
Returns 'deep' keypresses encoding the character, physical key and modifier keys.
Delay (listing)   PROCDelay()  
Detokenise
DisAssem DisCode.txt   FNDis_Name()
  FNDis_Code()
Disassembly functions for various CPUs and generic OSWORD disassembly interface.
DiskIO (listing) DiskIO.txt   FNdisk()
  FNdisk_err()
  FNscsi()
  FNscsi_err()
  FNlvfs()
Functions to make low-level disk sector access.
FastString     FNrd()
PROCwr()
Read and write strings from and to files using fast file I/O.
FDate 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
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
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     FNf_info()
PROCf_gbpb()
  FNf_scan()
  FNf_args()
  FNf_argsA()
  FNfs
FileIO library using the same naming system as the File library.
FileCSV   PROCcsv_rd()
PROCcsv_wr()
 
Filename 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 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 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 Docs/Font1.txt   FNFont_Select()  
GoMMC   PROCmmc_()
  FNmmc_Add()
  FNmmc_Cat()
  FNmmc_Find()
  FNmmc_Sort()
  FNmmc_Type()
GoMMC/GoSDC access and manipulation functions.
HiBASIC
HiBASIC2
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     FNIntToMoney() Converts integers into an english language currency string.
IntToTxt IntToTxt.bbc   FNIntToTxt() Converts integers into an english language string.
IP 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 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
LocalErr
LocalErr.txt PROCerr_local() Allows the use of LOCAL ERROR:ON ERROR LOCAL in 6502 BASIC.
MAlloc
MAlloc.bbc
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 MemIO.txt PROCmem_rd()
PROCmrm_wr() PROCio_call()   FNio_call()
Procedures to read from and write blocks of I/O memory.
Memory
Memory16b
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   FNMessages_Rd() Message translation.
MOS     FNbyte()
  FNfx()
Provides wrappers around OSBYTE allowing them to be easily called from BASIC.
Mouse   PROCPointer_Init
PROCPointer_Draw
PROCPointer_UntilAction
PROCMouse_Init
PROCMouse_UntilAction
PROCMouse_Read
 
Net 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
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   PROCNet_ServerList()
PROCNet_Server
  FNNet_ServerPort()
 
NetUtil 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
Number.bbc
Number.txt   FNh0()
  FNh()
  FNd0()
  FNd()
  FNo0()
  FNo()
  FNb0()
  FNb()
  FNdrv()
  FNDrv()
Functions to convert numbers to various fixed-width strings.
Path.bbc Path.txt   FNfn_root()
  FNfn_leaf()
  FNfn_path()
  FNfn_noext()
  FNfn_ext()
  FNfn_fullpath()
Functions manpipulate DOS/Windows filenames and pathnames.
Pathname     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
Phone.bbc
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
PhoneG.bbc
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
ProgEnv.bbc
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     FNPath_Run Returns the path to the running program.
Reg.bbc Reg.txt   FNReg_Rd()
PROCReg_Wr()
Functions to read and write strings in the HKEY_CURRENT_USER part of the Windows™ registry.
Registry.bbc 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.
Skt 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 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 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 Sort.bbc PROCSort_Str()  
String String.bbc   FNs()
  FNuc()
  FNlc()
Functions to convert strings to upper and lower case and to strip spaces.
StringIO     FNrd()
PROCwr()
Read and write strings from and to files.
Suffix suffix   FNfn_sfx() Ensure full-length filename extensions on filenames with truncated extensions by reference to a mimemap/suffixes list.
Teletext Teletext.txt   FNttxt_rows()
  FNttxt_title()
PROCttxt_display()
Teletext page display functions.
TextIO.bbc   PROCWin_TextIO Attach BBC BASIC I/O to Windows console.
Time     FNtime
  FNTime
PROCtime
  FNdate
  FNDay()
  FNMon()
  FNDate_DayOfWeek()
Read RTC time, correcting for year overflow, etc.
Tokenise
Tokenise.bbc
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
Variable.bbc
Variable.txt PROCVar_Assign() Dynamically create variables and assign values to them.
BLib.zip Names.txt   All BASIC libraries in one download. list.htm
Develop     Libraries in the process of being developed.
LVFS LVFS.txt PROClvfs_* Laserdisk functions.
BBCMOS     FNmos_* BBC MOS functions.
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: 11-Mar-2019