Page Last Altered:

**Submitted by Steve Fewell**

Here are a few discs that I have made available. The discs are in .SSD format and work

with BeebEM (and probably other BBC emulators that support .SSD format).

Disc 1 contains several maths functions that I have written myself.

The transcendental functions on this disc (i.e. EXP/LOG) are evaluated using power-series expansions

rather than continued-fraction expansions (as in BASIC). The programs are in BASIC not assembly language.

This disc provides a different perspective of these functions and an alternative implementation than the

one used by BBC BASIC 4.

The disk contains the following BASIC programs:

**COS** - Cosine function

**EXP** - Exponential function

**LN** - Natural Logorithmn function

**POWER** - Evaluation of powers (using LN & EXP)

**REAL-FL** - Converts from real to Floating (scientific - #.####E##) format

**SIN** - Sine function

**TAN** - Tangent function

**TRIG & TRIG2** - Graphs showing the trigonometry functions Sine, Cosine, Tangent, Arc Sine, Arc Cosine & Arc Tangent

Disc 2 contains several analysis programs that I have written myself.

These programs have helped me in analysing the BASIC ROM.

The disk contains the following BASIC programs:

**FLOAT** - Converts between packed Float variables and Real (base 10) values

**FLOATH** - Converts between packed Float variables and Real (base 10) values,

the variable's exponent (1 byte) and mantissa (4 bytes) are entered in Hexadecimal

**SEARCHM** - Searches memory between &8000 to &BFFF (The BASIC ROM) for the

assembly language that you type in. I.e. you can type assembly language(i.e.*LDA#ASC(">"):JSR &FFEE*,

or *EQUS"BASIC"*) and the program will return the locations which contain that informaton.

I used this program extensively when searching for the BASIC4 routine entry points

for a lot of the routines mentioned in THE ADVANCED BASIC ROM USER GUIDE book by Colin Pharo,

where I was only armed with the BASIC2 version of the routine's code.

**DISASS** - A quick and dirty 6502 disassembler that I used to disassemble the BASIC ROM.

**ASSEMNE** - A program to extract 6502 OPCODE Mnemonics from the BASIC ROM assembly routine's table.

Another piece of software that I have used extensively is FingerPrint by Dabs Press

This software enables a machine code routine to be monitored instruction by instruction

showing the real-time contents of the registers and flags after each step.

This software is not available from 8bs, as it is copyrighted; however, it may be

available elsewhere on the Internet.