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