Difference between revisions of "BBC Micro"

From SizeCoding
Jump to: navigation, search
Line 11: Line 11:
  
 
<syntaxhighlight lang="6502">
 
<syntaxhighlight lang="6502">
Docs Address All machines BBC Master 128
+
0000 Current Language Zero Page  
Page 00 0000 Current Language Zero Page Master maps main ram even in shadow mode
 
 
0090 Operating System Zero Page
 
0090 Operating System Zero Page
0100 Processor Stack
+
0100 Processor Stack
Page 02 0200 Operating System Workspace
+
0200 Operating System Workspace
Page 03 0300
+
0300
0400 Current Language Workspace
+
0400 Current Language Workspace
 
0500
 
0500
 
0600
 
0600
 
0700
 
0700
Page 08-0D 0800 Sound & Printer Buffer
+
0800 Sound & Printer Buffer
 
0900 RS423, Speech & Tape output Buffer
 
0900 RS423, Speech & Tape output Buffer
 
0A00 RS423 & Tape input Buffer
 
0A00 RS423 & Tape input Buffer
Line 29: Line 28:
 
0D9F Expander vector set
 
0D9F Expander vector set
 
0DF0 Paged ROM workspace storage locations
 
0DF0 Paged ROM workspace storage locations
Page 0E-18 0E00 USER workspace DFS workspace (not Master)
+
0E00 USER workspace / DFS workspace (not Master)
1900
+
...
 
3000 Screen (Mode 0, 1, 2) USER workspace with shadow Mode 128…134
 
3000 Screen (Mode 0, 1, 2) USER workspace with shadow Mode 128…134
Screen memory is in shadow ram at same addresses as on normal machines
 
 
4000 Screen (Mode 3)
 
4000 Screen (Mode 3)
 
5800 Screen (Mode 4, 5)
 
5800 Screen (Mode 4, 5)
 
6000 Screen (Mode 6)
 
6000 Screen (Mode 6)
 
7B00 Screen (Mode 7)
 
7B00 Screen (Mode 7)
Paged Rom 8000 Paged Roms Private Ram
+
C000 OS ROM Paged rom workspace
C000 OS ROM Paged rom workspace
 
 
DC00 MOS CLI Buffer
 
DC00 MOS CLI Buffer
 
DD00 *MOVE workspace
 
DD00 *MOVE workspace

Revision as of 17:57, 28 March 2024

BBC Micro / Acorn Electron

The Acorn 8-bit systems consist of a 6502-compatible MOS 6510 processor with custom hardware for graphics and simple sound.

Setting up

To set up your , first get the following tools:

Memory map

0000 	Current Language Zero Page 
0090 	Operating System Zero Page
0100 	Processor Stack
0200 	Operating System Workspace
0300
0400 	Current Language Workspace
0500
0600
0700
0800 	Sound & Printer Buffer
0900 	RS423, Speech & Tape output Buffer
0A00 	RS423 & Tape input Buffer
0B00 	Function Keys
0C00 	User defined graphics
0D00 	NMI routines (Disk/Econet)
0D9F 	Expander vector set
0DF0 	Paged ROM workspace storage locations
0E00 	USER workspace 	/ DFS workspace (not Master)
...
3000 	Screen (Mode 0, 1, 2) 	USER workspace with shadow Mode 128…134
4000 	Screen (Mode 3)
5800 	Screen (Mode 4, 5)
6000 	Screen (Mode 6)
7B00 	Screen (Mode 7)
C000 	OS ROM 	Paged rom workspace
DC00 	MOS CLI Buffer
DD00 	*MOVE workspace
DF00 	MOS private workspace
E000 	OS ROM
FC00 	FRED 1MHz bus
FD00 	JIM 1MHz bus
FE00 	SHIELA I/O Memory
FF00 	OS ROM Vectors

Check out https://mdfs.net/Docs/Comp/BBC/AllMem for a complete memory map

Video display

The BBC Micro / Acorn Electron have the following native video modes:

  • Standard text modes
  • Bitmap modes
  • Teletext / Mode 7 (BBC Micro only)

Sync with frame

-

Plot in Bitmap modes

Here is a routine that will allow you to plot a single point in bitmap mode.

To be added

Text mode

To be added

To be added

Sound

To be added soon.

Make some noise

To be added soon.

Additional Resources