Q I see that the BBC BASIC for Windows manual is on your web site,
do I have to be online to read it ?
A No, definitely not. The full documentation is also supplied with BBC BASIC for
Windows and you can read it on screen at your leisure without needing an internet connection.
Q Do you supply a printed manual ?
A Unfortunately not. Including a printed manual would mean significantly
increasing the price, and comprehensive on-screen documentation is supplied with the product.
However if you want to print out your own copy you can download this
PDF version; it
totals 1000 (A5) pages, or 500 sides of A4!
Q What if I was prepared to pay extra for a printed manual ?
A It's not just a matter of cost. The manual is constantly being improved and extended.
The on-screen documentation can also take advantage of hyperlinks for cross-referencing, something
which a printed manual (however good the index) cannot compete with.
Q Will BBC BASIC for Windows allow me to read my BBC Micro
disks on a PC ?
A No. Modern PCs, even if fitted with a 5¼" disk drive, cannot read BBC Micro
floppy disks. However I can provide a transfer service from BBC Micro 5¼" disks (or casette tape) to CD-ROM
at a cost of £10.00 each. Alternatively if you still have a working BBC Micro you can
transfer files from it to the PC via a serial link. Instructions for doing that are included with BBC BASIC
for Windows. Unfortunately I cannot copy Archimedes disks, but see here.
Q My program runs fine on a BBC Micro, but on the PC I get an error message.
What is wrong ?
A BBC BASIC for Windows is not a BBC Micro emulator; it is an implementation
of the BBC BASIC language for Windows™ PCs. Most BBC Micro (or Acorn Archimedes, or BBC BASIC (86)
for MS-DOS) programs written entirely in BASIC will run with little or no modification, but programs which
incorporate assembly language (machine code), access the machine's hardware directly or use features of the
Operating System not supported in Windows will not run. It may be possible to adapt such programs, but that will
depend on the precise circumstances.
Q My BBC Micro program runs on the PC, but far too quickly. What can I do ?
A Many BBC Micro programs used 'delay loops' (typically FOR...NEXT loops) when it was
necessary to pause the program. Because a modern PC runs hundreds or thousands of times faster than the
BBC Micro such loops execute far too quickly. The simplest solution is to replace each delay loop with a WAIT
statement, for example replace
FOR N=1 TO 1000:NEXT with WAIT 50.
Q Can I run my programs full-screen rather than in a window ?
A You can run full-screen, but not in a way fully compatible with BBC Micro
screen modes. PC displays can be set to a wide range of different resolutions (800x600, 1024x768 etc.) but none
are the same as those of the BBC Micro. By running your program in a window you can achieve better
compatibility with other versions of BBC BASIC and at the same time share the desktop with
other Windows™ applications.
Q Where can I find out more about the Windows Application Program Interface ?
A The Windows™ API is fully documented on the
Microsoft Developers' Network web site (search for
Platform SDK) and you can also order it on CD-ROM. However a more manageable version which
covers the common functions can be found in the file WIN32HLP.EXE (a mere 13 Mbytes!) which is
available for download from here.
Alternatively use your favourite search engine to find it. Also consider installing the APIViewer
application and its BB4W plug-in which makes it much easier to use the Windows API from
BBC BASIC for Windows (sadly this seems no longer to be available).
Q The Windows API documentation refers to constants by name.
Where can I find the actual values ?
A Use the Windows Constants
add-in utility (slot 8 in the Utilities menu,
usually) which will automatically add
declarations to your program. Alternatively you can find most of the values you are likely to
need in the files WINUSER.H, WINBASE.H, WINGDI.H, WINNT.H, COMMDLG.H, COMMCTRL.H and MMSYSTEM.H.
These can be found in the /include directory of the Windows™ Platform SDK or, if you do not have
that installed, you can search for them on the web.
Q Where can I learn more about assembly-language programming on the PC ?
A The PDF tutorial PC Assembly Language by
Dr. Paul Carter has been recommended and has the advantage of using a syntax very similar to that accepted by the
BBC BASIC for Windows assembler. Another reference which uses a very similar syntax to BB4W is this
series of tutorials based on NASM.
Some people have tried the
Art of Assembly Language Programming
by Randall Hyde; however that uses a rather non-standard syntax that makes conversion more difficult.
All need to be read in conjunction with the Assembler
section of the BBC BASIC for Windows manual. If you just want an instruction set
reference you can download it from
Intel's site.
Q There's no AUTO command. Do I have to type in the line numbers myself ?
A No. BBC BASIC for Windows doesn't need line numbers at all, so you can
simply type in the lines without numbers. If you prefer to have line numbers you can add them
afterwards using the Renumber command in the Utilities menu, or simply by clicking on the
10 20 30 button in the toolbar.
Q How can I transfer files from an Acorn Archimedes to the PC ?
A If you have RISC OS version 3 or later you can write PC-compatible 3.5" floppy disks on
the Archimedes. To format a suitable disk click MENU on the appropriate drive icon and select Format...
Other formats... DOS 720K or (if you have a high density disk interface) Format... Other formats...
DOS 1.44M. From the command line or a task window you can type *FORMAT :0 DOS/M
for 720K or *FORMAT :0 DOS/Q for 1.44M, where :0 is the appropriate drive.
If you don't have a floppy drive on your PC, external USB drives are inexpensive.
Q I entered my program and typed RUN but nothing happened! What's wrong?
A You probably typed RUN into the program editor; all that does is to add the command
to your program. To run your program you need to click on the Run button in the toolbar or press F9.
Alternatively open the Run menu and select Run (Alt-R R).
Q How can I move BBC BASIC for Windows to another PC?
A You will need your original master disc or downloaded installation file (BBCSETUP.ZIP), and
your personal serial number (registration key). If you can't remember your serial number you can find it in the Help...
About BBC BASIC menu selection. Install BBC BASIC for Windows from scratch on the new PC, and
when you have done that upgrade it to the latest version by downloading and installing
UPGRADE.EXE.
Q Is BBC BASIC for Windows a compiler or an interpreter?
A In traditional terms BBC BASIC is an interpreted language; it has many features which
are not compatible with direct conversion to machine code (e.g. the EVAL function and the assembler).
BBC BASIC for Windows uses the term compile for the process of creating a stand-alone
executable file containing a compressed form of your BASIC program plus a Run Time Engine
to execute it. Several modern 'compiled' languages (e.g. Java and the .NET suite) use a similar
technique.
Q Why can't I get OPENOUT to work?
A The most likely reason is that you're trying to create the file in a place that isn't
allowed by Windows. One solution is to use OPENOUT(@usr$+filename$)
which will save the file in your Documents folder, or if it's a temporary file
you can use OPENOUT(@tmp$+filename$). If you don't specify an explicit 'path'
Windows tries to save the file in the 'current directory', for example
C:\Program Files\BBC BASIC for Windows\EXAMPLES\ which is one of the places Windows
Vista, Windows 7, Windows 8 and Windows 10/11 won't let you write unless you have 'administrator' privileges.
Q How similar is BBC BASIC to QBASIC (or QuickBasic)?
A All dialects of BASIC are similar, but since BBC BASIC pre-dates and has very
different origins from QBASIC there are significant differences between them (BBC BASIC first appeared
in 1982, Microsoft QuickBasic in 1985 and QBASIC in 1991). However there is an automated translator
QB2BBC which can translate entire QBASIC programs, or just
individual statements, to BBC BASIC for Windows.