8-Bit Software

The BBC and Master Computer Public Domain Library


BASIC ROM Routines
Page Last Altered:
Wherever you see this graphic:

Clicking on it brings you back to this page


BASIC ROM Routines
by Christopher Dewhurst

BASIC IV ROM Routines
By Steve Fewell

I decided to begin something I've been wanting to do for a long time, that is to produce listings of BASIC 4 ROM's routines, together with detailed descriptions of how they work.

Please let me know what you think, and whether you'd like to see more like it. If anyone else wants to have a go at writing up with me then please feel free to post (added CJR: send them to 8BS) your own descriptions of routines from BASIC 4 (or another version of BASIC).

If I've made a mistake, and someone wants to correct/expand on something, then please do so.

BASIC IV Routines

Routine Name

Start Address

Comments

Integer Division

80F9

Convert Integer to Floating-Point

8185

Normalise FWA#2

81E2

Normalise FWA#1

81F7

Convert Floating-Point to Integer

8242

Integer Reverse Order Complement

82C4

Copy FWB to FWA

8349

Next Char PTRB

8ED5

Check if Integer and Convert if Float

96BE

Integer Addition

9E65

Integer Subtraction

9ECA

Integer Multiplication

9F64

Integer MOD routine

9FF5

Integer DIV routine

9FFD

Floating-point Sign

A3F2

Copy FWA to FWB

A40B

Floating-point multiply by 10

A436

Floating-point divide by 10

A478

Clear FWB

A570

Clear FWA

A6B4

Load Integer from Zero Page Address

AA80

Set IWA = TRUE

ABDB

Clear IWA

ABE8

Integer Positive

ACBE

Floating-Point Compliment

ACCA

Integer Compliment

ACDE

Extract String

AD19

Extract Hex Integer

ADB7

16-bit Integer

AE1A

Load Integer from Address B1AA
Reset ON ERROR code pointer B2A6
Save Integer to Address B347
Push Integer to BASIC Stack BC26
Pop Integer from BASIC Stack BCE6
Pop Integer from BASIC Stack (Zp) BD08
Check for Stack clash with Heap BD1E
Save Integer to Zero Page Address BDC6

Error Messages

Character Set

Memory Map

Glossary

Disassembly
8000 to 9000 HTML TEXT CSV
9000 to A000 HTML TEXT CSV
A000 to B000 HTML TEXT CSV
B000 to C000 HTML TEXT CSV


 

 Back to 8BS
Or

Return To On Line Magazine