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

Library Documentation Functions  
AddrOf   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 BASIC.bbc     FNBASIC_RunAs
  FNBASIC_SizeOfReal
  FNBASIC_Type
  FNBASIC_Ver
Functions to find various information about the running BBC BASIC.
BBCFile   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.
BFont BFont.bbc   PROCBFont_Load()
PROCBFont_Save()
Functions to load and save bitmap fonts.
Graphic.Circle     PROCcircle() The Circle library draws filled or outline full or partial circles.
Choices Choices.bbc     FNChoices_Find()
PROCChoices_Rd()
PROCChoices_Set()
 
Close     PROCClose_All  
CmdLine CmdLine.bbc CmdLine.txt   FNcl() Command line parsing. Updated to process "quoted" strings correctly.
Context   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 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   DeepKey.txt   FNdeep_inkey()
  FNdeep_get
Returns 'deep' keypresses encoding the character, physical key and modifier keys.
Delay     PROCDelay()  
Detokenise
DisAssem   DisCode.txt   FNDis_Name()
  FNDis_Code()
Disassembly functions for various CPUs and generic OSWORD disassembly interface.
DiskIO   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.
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 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: 16-Oct-2016