Difference between revisions of "BBC Micro"

From SizeCoding
Jump to: navigation, search
m (updated assembler and emulators and added some additional hardware information)
 
(3 intermediate revisions by one other user not shown)
Line 1: Line 1:
 
== BBC Micro / Acorn Electron ==
 
== 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.
+
The Acorn 8-bit systems consist of a 6502 processor @ 2MHz (65SC12 in Master 128) with a 6845 CRTC for bitmap graphics, SAA5050 for teletext graphics, and a TI SN76489 sound chip.
  
 
=== Setting up ===
 
=== Setting up ===
 
To set up your , first get the following tools:
 
To set up your , first get the following tools:
  
* Assembler: ACME, Mads Assembler ( https://mads.atari8.info/ )
+
* Assembler: BeebAsm ( https://github.com/stardot/beebasm )
* Emulator(s): BeebEm ( http://www.mkw.me.uk/beebem/ )
+
* Emulator(s): BeebEm, b2 ( http://www.mkw.me.uk/beebem/ ) ( https://github.com/tom-seddon/b2 )
  
 
=== Memory map ===
 
=== Memory map ===
  
 
<syntaxhighlight lang="6502">
 
<syntaxhighlight lang="6502">
To be added
+
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
 
</syntaxhighlight>
 
</syntaxhighlight>
  
 +
Check out https://mdfs.net/Docs/Comp/BBC/AllMem for a complete memory map
  
 
=== Video display ===
 
=== Video display ===

Latest revision as of 10:42, 8 April 2024

BBC Micro / Acorn Electron

The Acorn 8-bit systems consist of a 6502 processor @ 2MHz (65SC12 in Master 128) with a 6845 CRTC for bitmap graphics, SAA5050 for teletext graphics, and a TI SN76489 sound chip.

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