Difference between revisions of "BBC Micro"
From SizeCoding
Line 11: | Line 11: | ||
<syntaxhighlight lang="6502"> | <syntaxhighlight lang="6502"> | ||
− | + | Docs Address All machines BBC Master 128 | |
+ | Page 00 0000 Current Language Zero Page Master maps main ram even in shadow mode | ||
+ | 0090 Operating System Zero Page | ||
+ | 0100 Processor Stack | ||
+ | Page 02 0200 Operating System Workspace | ||
+ | Page 03 0300 | ||
+ | 0400 Current Language Workspace | ||
+ | 0500 | ||
+ | 0600 | ||
+ | 0700 | ||
+ | Page 08-0D 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 | ||
+ | Page 0E-18 0E00 USER workspace DFS workspace (not Master) | ||
+ | 1900 | ||
+ | 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) | ||
+ | 5800 Screen (Mode 4, 5) | ||
+ | 6000 Screen (Mode 6) | ||
+ | 7B00 Screen (Mode 7) | ||
+ | Paged Rom 8000 Paged Roms Private Ram | ||
+ | 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> | ||
Revision as of 16:55, 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
Docs Address All machines BBC Master 128
Page 00 0000 Current Language Zero Page Master maps main ram even in shadow mode
0090 Operating System Zero Page
0100 Processor Stack
Page 02 0200 Operating System Workspace
Page 03 0300
0400 Current Language Workspace
0500
0600
0700
Page 08-0D 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
Page 0E-18 0E00 USER workspace DFS workspace (not Master)
1900
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)
5800 Screen (Mode 4, 5)
6000 Screen (Mode 6)
7B00 Screen (Mode 7)
Paged Rom 8000 Paged Roms Private Ram
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/