CONTENTS

 

Page numbers are not given, because are irrelevant to the on-line version.

Preface
Preface to 2013 Edition

Chapter 1 Looking inside the Oric

1.1 Introduction

1.2 The ROM

1.3 Use of RAM

1.4 Differences between machines

1.5 The microprocessor – 6502

1.6 The 6522 – VIA

1.7 The 8912 sound chip

1.8 Text screen

1.9 High-resolution mode

1.10 Keyboard

1.11 Printer interface

1.12 Cassette system

Chapter 2 BASIC

2.1 Introduction

2.2 Memory map of BASIC

2.3 The format of a program

2.4 Pointers

2.5 Numeric variables

2.6 Integer variables

2.7 String variables

2.8 Arrays

2.9 READ and DATA

2.10 Using RND

2.11 Using a printer

2.12 The Oric’s status bytes

2.13 INVERSE and NORMAL

2.14 Creating windows of text

2.15 Controlling PRINT

2.16 Bugs in BASIC

 

Chapter 3 Using machine code

 

3.1 Advantages of machine code

3.2 Storing machine code

3.3 Types of machine code program

3.4 Creating a machine code program

3.5 Calling a machine code routine

3.6 Passing information to machine code routines

3.7 Patching into BASIC

3.8 Interrupts

3.9 Software timers

3.10 Machine code advice

3.11 Using the ! extension command

3.12 Using the & extension function routine

3.13 A real-time clock

3.14 Relocater program

 

Chapter 4 The keyboard and cassette system

 

4.1

4.2

4.3

4.4

4.5

4.6

4.7

4.8

Keyboard

Cassette input/output

Saving an area of memory

Loading an area of memory

A verify facility for version 1.0

CLOAD with an exit

Data saving and loading

Conclusions

 

Chapter 5 The Oric ROM in detail

 

5.1

5.2

5.3

5.4

5.5

Introduction

Use of page 0 memory

Use of page 1

Use of page 2

Summary of ROM addresses

 

Chapter 6 Maths, HIRES, and music

 

6.1

6.2

6.3

6.4

Introduction

Maths

High-resolution graphics

Sound and music

 

Chapter 7 Faster high-resolution graphics

 

7.1

7.2

7.3

7.4

7.6

7.7

7.8

7.9

Objectives

The theory behind the fast plotting routines

Collisions

Fast single-point plotter

Drawing larger shapes

Examples

PAINT subroutine

High-resolution compactor subroutine

7.10 Conclusions

 

Chapter 8 Useful utilities

 

8.1

8.2

8.3

8.4

8.5

8.6

8.7

Introduction

Renumber routine

Delete utility

Merge program facility

AUTO DATA feature

Trace utility

On-error GOTO feature

 

Chapter 9 Stretching the Oric to its limits

 

9.1

9.2

9.3

9.4

9.5

9.6

Introduction

Speech synthesis program

Extra 6502 op-codes

Multitasking in BASIC

Single-key facility

Silence routine