Notes for running EhBasic in a BBC environment ---------------------------------------------- mdfs.net/Software/6502/EbBasic J.G.Harston -- 10-Oct-2020 This should be read in conjunction with the Enhanced 6502 Basic Reference Manual. monbbc.asm is the main include file to build EhBasic for BBC target. Assemble with CODESTART set to $8000 to run on the I/O processor. Assemble with CODESTART set to any value up to $C000 to run on the 6502 coprocessor. Naturally, no BBC BASIC functionality is present, EhBasic is a pure Basic interpreter with no extras. So, for example, to send a VDU command do eg: PRINT CHR$(17);CHR$(4) for COLOUR 4 PRINT CHR$(22);CHR$(1) for MODE 1 PRINT CHR$(31);CHR$(10);CHR$(15); for PRINT TAB(10,15); All functions must have parameters in brackets, so CHR$(17) not CHR$17. If you use a function without brackets EhBasic reads it as a variable. A gotcha for people used to other Basics is that GET is a command, not a function, used in the following manner: 100 GET A$:IF A$="" THEN GOTO 100 *commands are usable. Program and variable memory is from MEMBOT (PAGE) to MEMTOP (HIMEM). Note that if you are running on the I/O processor, changing MODE with PRINT CHR$(22) will not adjust the top of Basic's workspace. EhBasic expects that the memory layout is static. The BBC APIs used are: OSWRCH, OSBYTE &83 and &84 for memory limits, OSBYTE 129 for keypresses, OSBYTE 124 to acknowledge Escape, OSFILE for LOAD and SAVE, OSCLI, and BRKV is claimed. History ------- 05-Oct-2019 v2.22p4a Merged with version 2.22p4. 10-Oct-2020 v2.22p5a Merged with version 2.22p5.