Difference between revisions of "BBC Micro"
From SizeCoding
Line 11: | Line 11: | ||
<syntaxhighlight lang="6502"> | <syntaxhighlight lang="6502"> | ||
− | + | 0000 Current Language Zero Page | |
− | |||
0090 Operating System Zero Page | 0090 Operating System Zero Page | ||
− | + | 0100 Processor Stack | |
− | + | 0200 Operating System Workspace | |
− | + | 0300 | |
− | + | 0400 Current Language Workspace | |
0500 | 0500 | ||
0600 | 0600 | ||
0700 | 0700 | ||
− | + | 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 | ||
− | + | 0E00 USER workspace / DFS workspace (not Master) | |
− | + | ... | |
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 | ||
− | |||
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) | ||
− | + | C000 OS ROM Paged rom workspace | |
− | |||
DC00 MOS CLI Buffer | DC00 MOS CLI Buffer | ||
DD00 *MOVE workspace | DD00 *MOVE workspace |
Revision as of 16:57, 28 March 2024
Contents
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:
- Assembler: ACME, Mads Assembler ( https://mads.atari8.info/ )
- Emulator(s): BeebEm ( http://www.mkw.me.uk/beebem/ )
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
- Stardot forums https://stardot.org.uk/forums/