Memory Map for the BBC range and Electron.
Compiled by Jon Ripley
Locations from &0000 to &03FF are covered in this file, in the future there
will be a complete map covering the full range of computers.
Some of the locations have different uses on the Master and Compact, these
differences will be dealt with in the full map.
&0 Lomem low
&1 Lomem high
&2 Vartop low
&3 Vartop high
&4 BASIC stack low
&5 BASIC stack high
&6 Himem low
&7 Himem high
&8 Erl low
&9 Erl high
&A Text pointer 1 offset
&B Text pointer 1 low
&C Text pointer 1 high
&D-&11 Rnd store
&12 Top low
&13 Top high
&14 No. of chars in print field
&15 Print flag
&16 Error vector low
&17 Error vector high
&18 Page high
&19 Text pointer 2 low
&1A Text pointer 2 high
&1B Text pointer 2 offset
&1C Ptr low
&1D Ptr high
&1E Count
&1F Listo option
&20 Trace flag
&21 Max trace line no. low
&22 Max trace line no. high
&23 Width
&24 No. of Repeats left
&25 No. of Gosubs left
&26 15 * No. of Fors left
&27 Variable type
&28 Opt value for assembler
&29-&2B Assembled code buffer
&2C Variable type
&2D Integer accumulator
&2E FAC#1 sign/point
&2F FAC#1 over/underflow
&30 FAC#1 exponent
&31-&34 FAC#1 mantissa
&35 FAC#1 rounding byte
&36 String length
&37 Renumber pointer low
&38 Renumber pointer high
&39 Renumber/Delete line no.
&3A Renumber/Delete line no.
&3B FAC#2 sign
&3C FAC#2 over/underflow byte
&3D FAC#2 exponent
&3E-&41 FAC#2 mantissa
&42 FAC#2 rounding byte
&43 Temporary store
&44-&47 Hex/numeric work
&48 Series counter
&49 Ascii/fpoint conversion
&4A Temporary exponent
&4B Current variable pointer low
&4C Current variable pointer high
&4D File no.
&4E Listo pointer/Input flags
&4F-&6F Language workspace
&70-&8F Reserved for User
&90-&9F Reserved for Econet
&A0-&A7 Current NMI owner
&A8-&AF OS command space
&B0-&BF Filing system scratch
&C0-&CF Filing system workspace
&D0 VDU Status
&D1 VDU byte mask
&D2 OR text colour byte
&D3 EOR text colour byte
&D4 OR graphic colour byte
&D5 EOR graphic colour byte
&D6 Graphics character cell low
&D7 Graphics character cell high
&D8 Top scan line low
&D9 Top scan line high
&DA-&DF Temporary workspace
&E0 Row multiplication low
&E1 Row multiplication high
&E2 Cassette filing system status
&E3 Cassette filing system options
&E4-&E6 General OS workspace
&E7 Auto repeat timer
&E8 Input buffer pointer low
&E9 Input buffer pointer high
&EA RS423 timeout counter
&EB Cassette 'critical' flag
&EC Internal key number (last)
&ED Internal key number (first)
&EE 1MHz bus paging register
&EF OSBYTE/OSWORD A reg value
&F0 OSBYTE/OSWORD X reg value
&F1 OSBYTE/OSWORD Y reg value
&F2 OS Text pointer low
&F3 OS Text pointer high
&F4 Currently selected ROM
&F5 Current (PH)ROM
&F6 (PH)ROM pointer low
&F7 (PH)ROM pointer high
&F8-&F9 Spare
&FA-&FB General OS workspace
&FC Temp A reg (interrupt)
&FD Error message pointer low
&FE Error message pointer high
&FF Escape flag
&100-&1FF 6502 Hardware Stack
&200 USERV low
&201 USERV high
&202 BRKV low
&203 BRKV high
&204 IRQ1V low
&205 IRQ1V high
&206 IRQ2V low
&207 IRQ2V high
&208 CLIV low
&209 CLIV high
&20A BYTEV low
&20B BYTEV high
&20C WORDV low
&20D WORDV high
&20E WRCHV low
&20F WRCHV high
&210 RDCHV low
&211 RDCHV high
&212 FILEV low
&213 FILEV high
&214 ARGSV low
&215 ARGSV high
&216 BGETV low
&217 BGETV high
&218 BPUTV low
&219 BPUTV high
&21A GBPBV low
&21B GBPBV high
&21C FINDV low
&21D FINDV high
&21E FSCV low
&21F FSCV high
&220 EVNTV low
&221 EVNTV high
&222 UPTV low
&223 UPTV high
&224 NETV low
&225 NETV high
&226 VDUV low
&227 VDUV high
&228 KEYBV low
&229 KEYBV high
&22A INSV low
&22B INSV high
&22C REMV low
&22D REMV high
&22E CNPV low
&22F CNPV high
&230 IND1V low
&231 IND1V high
&232 IND2V low
&233 IND2V high
&234 IND3V low
&235 IND3V high
&236 start OS vars low
&237 start OS vars high
&238 ROM pointer tab low
&239 ROM pointer tab high
&23A ROM info tab low
&23B ROM info tab high
&23C key table low
&23D key table high
&23E OS VDU vars low
&23F OS VDU vars high
&240 FS timeout counter
&241 input source
&242 Undefined
&243 primary OSHWM
&244 current OSHWM
&245 RS423 mode
&246 char explosion state
&247 ROM/Cassette switch
&248 Undefined
&249 paged ROM timer
&24A ROM active last BRK
&24B BASIC ROM number
&24C current ADC Channel
&24D max ADC Channel no.
&24E ADC conversion type
&24F RS423 use flag
&250 RS423 control flag
&251 flash counter
&252 space period count
&253 mark period count
&254 auto-repeat delay
&255 auto-repeat period
&256 *EXEC file handle
&257 *SPOOL file handle
&258 ESCAPE, BREAK effect
&259 Econet key disable
&25A key status byte
&25B ULA interrupt mask
&25C firm key pointer
&25D length firm key string
&25E Econet OS intercept
&25F Econet OSRDCH intcpt
&260 Econet OSWRCH intcpt
&261 speech suppression
&262 sound suppression
&263 BELL Channel
&264 BELL env no./amp
&265 BELL frequency
&266 BELL duration
&267 !BOOT options
&268 soft key string length
&269 lines since last page
&26A no. items in VDU queue
&26B external sound flag
&26C ESCAPE character
&26D char &C0-&CF
&26E char &D0-&DF
&26F char &E0-&EF
&270 char &F0-&FF
&271 fkey status
&272 SHIFT+fkey
&273 CTRL+fkey
&274 CTRL+SHIFT+fkey
&275 ESCAPE status
&276 ESCAPE flags
&277 Reserved
&278 Sound semaphore
&279 Soft key pointer
&27A Tube flag
&27B speech proc flag
&27C char destination
&27D cursor edit status
&27E location &27E
&27F location &27F
&280 country code
&281 user flag location
&282 RAM copy &FE07
&283 timer switch
&284 soft key flag
&285 printer flag
&286 char ignored by printer
&287 BREAK code 1
&288 BREAK code 2
&289 BREAK code 3
&28A location &28A
&28B location &28B
&28C current lang ROM
&28D last BREAK type
&28E available RAM
&28F start up options
&290 VDU vertical adjust
&291 Interlace toggle flag
&292 TIME value 1
&293 TIME value 1
&294 TIME value 1
&295 TIME value 1
&296 TIME value 1
&297 TIME value 2
&298 TIME value 2
&299 TIME value 2
&29A TIME value 2
&29B TIME value 2
&29C-&29F Countdown interval timer value
&2A1-&2B0 Paged ROM types
&2B1-&2B2 INKEY countdown timer
&2B3-&2B4 OSWORD 1 workspace
&2B6 Channel 1 A/D value low
&2B7 Channel 2 A/D value low
&2B8 Channel 3 A/D value low
&2B9 Channel 4 A/D value low
&2BA Channel 1 A/D value high
&2BB Channel 2 A/D value high
&2BC Channel 3 A/D value high
&2BD Channel 4 A/D value high
&2BE Analogue system flag
&2BF Event 0 enable flag
&2C0 Event 1 enable flag
&2C1 Event 2 enable flag
&2C2 Event 3 enable flag
&2C3 Event 4 enable flag
&2C4 Event 5 enable flag
&2C5 Event 6 enable flag
&2C6 Event 7 enable flag
&2C7 Event 8 enable flag
&2C8 Event 9 enable flag
&2C9 Soft key expansion pointer BRK
&2CA First auto repeat count
&2CB-&2CD Two key rollover workspace
&2CE Sound semaphore
&2CF Keyboard buffer busy flag
&2D0 RS423 input buffer busy flag
&2D1 RS423 output buffer busy flag
&2D2 Printer buffer busy flag
&2D3 Sound Channel 0 buffer busy flag
&2D4 Sound Channel 1 buffer busy flag
&2D5 Sound Channel 2 buffer busy flag
&2D6 Sound Channel 3 buffer busy flag
&2D7 Speech buffer busy flag
&2D8 Keyboard buffer start index
&2D9 RS423 input buffer start index
&2DA RS423 output buffer start index
&2DB Printer buffer start index
&2DC Sound Channel 0 buffer start index
&2DD Sound Channel 1 buffer start index
&2DE Sound Channel 2 buffer start index
&2DF Sound Channel 3 buffer start index
&2E0 Speech buffer start index
&2E1 Keyboard buffer end index
&2E2 RS423 input buffer end index
&2E3 RS423 output buffer end index
&2E4 Printer buffer end index
&2E5 Sound Channel 0 buffer end index
&2E6 Sound Channel 1 buffer end index
&2E7 Sound Channel 2 buffer end index
&2E8 Sound Channel 3 buffer end index
&2E9 Speech buffer end index
&2EA Cassette input file block size
&2EB Cassette input file block size
&2EC Cassette input file block flag
&2ED Last Cassette input character
&2EE-&2FF OSFILE control for *LOAD & *SAVE
&300 Current graphics window
&301 Current graphics window
&302 Current graphics window
&303 Current graphics window
&304 Current graphics window
&305 Current graphics window
&306 Current graphics window
&307 Current graphics window
&308 Current text window
&309 Current text window
&30A Current text window
&30B Current text window
&30C Current graphics origin
&30D Current graphics origin
&30E Current graphics origin
&30F Current graphics origin
&310 Current graphics cursor
&311 Current graphics cursor
&312 Current graphics cursor
&313 Current graphics cursor
&314 Old graphics cursor
&315 Old graphics cursor
&316 Old graphics cursor
&317 Old graphics cursor
&318 Current text cursor X
&319 Current text cursor Y
&31A Current graphics point
&31B Graphics workspace
&31C Graphics workspace
&31D Graphics workspace
&31E Graphics workspace
&31F-&323 VDU queue
&324 Current graphics cursor
&325 Current graphics cursor
&326 Current graphics cursor
&327 Current graphics cursor
&328 Graphics workspace
&329 Graphics workspace
&32A Graphics workspace
&32B Graphics workspace
&32C Graphics workspace
&32D Graphics workspace
&32E Graphics workspace
&32F Graphics workspace
&330 Graphics workspace
&331 Graphics workspace
&332 Graphics workspace
&333 Graphics workspace
&334 Graphics workspace
&335 Graphics workspace
&336 Graphics workspace
&337 Graphics workspace
&338 Graphics workspace
&339 Graphics workspace
&33A Graphics workspace
&33B Graphics workspace
&33C Graphics workspace
&33D Graphics workspace
&33E Graphics workspace
&33F Graphics workspace
&340 Graphics workspace
&341 Graphics workspace
&342 Graphics workspace
&343 Graphics workspace
&344 Graphics workspace
&345 Graphics workspace
&346 Graphics workspace
&347 Graphics workspace
&348 Graphics workspace
&349 Graphics workspace
&34A Text cursor position
&34B Text cursor position
&34C Text window width
&34D Text window width
&34E Bottom of screen high
&34F Bytes per character
&350 Screen top left
&351 Screen top left
&352 Bytes per screen row
&353 Bytes per screen row
&354 Screen size high
&355 Current screen mode
&356 Memory map type
&357 Foreground text colour
&358 Background text colour
&359 Foreground graphics colour
&35A Background graphics colour
&35B Foreground plot mode
&35C Background plot mode
&35D General jump vector low
&35E General jump vector high
&35F Cursor register
&360 No. logical colours -1
&361 Pixels per byte -1
&362 Left colour mask
&363 Right colour mask
&364 Text input cursor X
&365 Text input cursor Y
&366 Cursor char (mode 7)
&367 Font flag
&368 Font location byte
&369 Font location byte
&36A Font location byte
&36B Font location byte
&36C Font location byte
&36D Font location byte
&36E Font location byte
&36F Colour palette
&370 Colour palette
&371 Colour palette
&372 Colour palette
&373 Colour palette
&374 Colour palette
&375 Colour palette
&376 Colour palette
&377 Colour palette
&378 Colour palette
&379 Colour palette
&37A Colour palette
&37B Colour palette
&37C Colour palette
&37D Colour palette
&37E Colour palette
&37F Colour palette
&380 BPUT header, filename
&381 BPUT header, filename
&382 BPUT header, filename
&383 BPUT header, filename
&384 BPUT header, filename
&385 BPUT header, filename
&386 BPUT header, filename
&387 BPUT header, filename
&388 BPUT header, filename
&389 BPUT header, filename
&38A BPUT header, filename
&38B BPUT header, filename
&38C BPUT header, load address
&38D BPUT header, load address
&38E BPUT header, load address
&38F BPUT header, load address
&390 BPUT header, exec address
&391 BPUT header, exec address
&392 BPUT header, exec address
&393 BPUT header, exec address
&394 BPUT header, block no.
&395 BPUT header, block no.
&396 BPUT header, block length
&397 BPUT header, block length
&398 BPUT header, block flag
&399 BPUT header, spare
&39A BPUT header, spare
&39B BPUT header, spare
&39C BPUT header, spare
&39D BPUT offset byte
&39E BGET offset byte
&39F-&386 Spare
&3A7 BGET filename
&3A8 BGET filename
&3A9 BGET filename
&3AA BGET filename
&3AB BGET filename
&3AC BGET filename
&3AD BGET filename
&3AE BGET filename
&3AF BGET filename
&3B0 BGET filename
&3B1 BGET filename
&3B2 Last block header, filename
&3B3 Last block header, filename
&3B4 Last block header, filename
&3B5 Last block header, filename
&3B6 Last block header, filename
&3B7 Last block header, filename
&3B8 Last block header, filename
&3B9 Last block header, filename
&3BA Last block header, filename
&3BB Last block header, filename
&3BC Last block header, filename
&3BD Last block header, filename
&3BE Last block header, load address
&3BF Last block header, load address
&3C0 Last block header, load address
&3C1 Last block header, load address
&3C2 Last block header, exec address
&3C3 Last block header, exec address
&3C4 Last block header, exec address
&3C5 Last block header, exec address
&3C6 Last block header, block no.
&3C7 Last block header, block no.
&3C8 Last block header, block length
&3C9 Last block header, block length
&3CA Last block header, block flag
&3CB Last block header, spare
&3CC Last block header, spare
&3CD Last block header, spare
&3CE Last block header, spare
&3CF Last block header, checksum
&3D0 Last block header, checksum
&3D1 Sequential block gap
&3D2 Filename being searched
&3D3 Filename being searched
&3D4 Filename being searched
&3D5 Filename being searched
&3D6 Filename being searched
&3D7 Filename being searched
&3D8 Filename being searched
&3D9 Filename being searched
&3DA Filename being searched
&3DB Filename being searched
&3DC Filename being searched
&3DD Next BGET block no.
&3DE Next BGET block no.
&3DF Copy last block flags
&3E0-&3FF Keyboard input buffer