Skip to content

MacBeeb 1.5

Choose a tag to compare

@JamesRandall JamesRandall released this 25 Oct 10:38
· 33 commits to main since this release
  • Welcome to MacBeeb: a new welcome screen leads to everything: switch on a BBC Micro, browse the Game Library, or build a network in the Network Studio, with things to try. Choose what MacBeeb opens with on it, or in Settings ▸ General: the welcome screen, a BBC Micro, the Game Library or the Network Studio. Window ▸ Welcome to MacBeeb (⇧⌘1) brings it back.
  • Econet over the Internet: share a network from the Network Studio (the globe button) and send someone a link or read them a code; their BBC Micros join yours on one Econet, from their own Mac, with Acorn's own network software: log on to your file server, print on your printer server. File ▸ Join Econet Network… (⇧⌘J) to join. Only Econet is shared, unless the host lets people share their screens and you choose to show yours: then they appear live on everyone's canvas, sent apart from Econet so they never slow it. Uses econet.acornplayground.org, or your own service (Settings ▸ Networking). MacArch's Archimedes share and join the same networks: they appear on your canvas, and log on to your file servers as yours log on to theirs.
  • Network Studio: File ▸ New Network… (⇧⌘N) builds a network of BBC Micros, each running for real, side by side: start from a template such as School Classroom (four BBCs, a file server and a printer server), then arrange machines on a canvas with their screens live, use them in tiles or their own windows, and save the network to open again. See Help ▸ Network Studio Guide.
  • Econet: the machines are linked by an emulated Econet: the MC6854 chip, the clock and the shared line, with Acorn's own network software (DNFS on the Model B, ANFS on the Master) and Acorn's Level 1 file server. On any machine, *NET, then SAVE on one and LOAD on another.
  • Printing: every BBC has a printer on its printer port, and a network has a printer server: *FX5,4 and VDU 2 print across the network. Window ▸ Print Centre (⌥⌘P) shows each job on paper (clean or dot matrix, A4, Letter or fanfold), and exports PDFs.
  • Traffic: the studio's Traffic view shows every frame on the network, read as Econet's four-way handshake.
  • Level 2 file server: add a Level 2 File Server from the palette, beside Level 1. Acorn's own server runs on a BBC with a 6502 Second Processor: users with passwords, directories within directories, access rights, and boot options, so a station logging on as BOOT runs its !BOOT.
  • Distributed Mandelbrot: a new template where eight BBC Micros draw the Mandelbrot set between them. Type *CLUSTER on the Guide machine to take over the workers by remote control (Econet's POKE and JSR), then *MANDEL. Each worker computes its tiles in its own 6502 and sends them over Econet, and the picture builds on the coordinator's screen. Switch a worker off part way and its work goes to another. The studio's Mandelbrot view follows the render from the traffic.
  • The Econet Times: a new template, a newsroom on Econet. Three reporters' BBCs boot into a reporter's desk: choose a desk, write a headline and a story (or keep the one written for it), and it's filed with the file server. The Editor's BBC watches the desks fill, and P prints the paper on the printer server: a masthead drawn in the BBC's own characters, then the stories in two columns, with bold and underlined headlines.
  • Focus view: in the Network Studio, one machine large with every machine live in a strip down the left. Click one in the strip to bring it into the large view.
  • Mandelbrot in Colour: the same in MODE 2, with VideoNuLA's colours: *MANDEL2. When it's done, the colours cycle.
  • AI Agents Guide: Help ▸ AI Agents Guide explains connecting an agent to the BBC Micro in front of you, or running one headless: a hidden BBC Micro of its own that runs as fast as your Mac allows and gives the same result every time.
  • For AI agents (MCP): every tool takes a machine (a network station), and there are tools for networks, their traffic, a station's Econet chip and print jobs.
  • Debugging BBC BASIC: the debugger (⌥⌘D) has a BASIC view: the program's listing with breakpoints on its lines (with conditions written in BASIC, hit counts and log messages), stepping a statement at a time into, over or out of PROCs, FNs and GOSUBs (F6/F7/F8), stopping where an error happens, and the program's PROC and FN calls, its variables and arrays (LOCALs first; double-click one to change it) and watched expressions. Works with BASIC 2 and 4, and BASIC on a 6502 Second Processor. In VS Code, the MacBeeb extension debugs .bas files the same way (F5 runs one). For AI agents, the basic_ tools.
  • Baron: MacBeeb comes with Baron, the successor to BeebAsm, and assembles with it for you. In VS Code, press F5 in a Baron .6502 file (or give a launch configuration "baron": one source file or several, and switches such as --opt 3): every section with a filename goes on a disc in drive 0, which is run (or booted), with breakpoints on your source lines, into macros, included files and FOR loops. For AI agents, assemble_baron.
  • VS Code: the MacBeeb extension is on the Visual Studio Marketplace: search for "MacBeeb" in VS Code's Extensions view. Help ▸ Debugging with VS Code Guide shows how to debug your assembler and BASIC programs from VS Code on MacBeeb's BBC Micro.
  • Credits: Help ▸ Credits thanks the people whose work MacBeeb is built from and includes: the emulators it learned from, the BBC Micro's own software, the game archivists, and the testers who measured real machines.
  • BASIC programs: drop a .bas file (text, with or without line numbers, or tokenised) on a machine window, or open one with MacBeeb, and it runs.
  • Your ROMs, in real sockets: add ROM image files to Machine ▸ ROM Library…, then plug them into the sockets each model really has in Machine ▸ Hardware… (⌥⌘E): the Model B's four (BASIC and the DFS can come out), the Aries B12's, the B+'s five 32K sockets. ROMs bigger than 16K that switch their own banks work too, such as Computer Concepts' Inter-Word and Inter-Base.
  • Master 128 cartridges: plug a ROM cartridge, or a 16K or 32K sideways RAM cartridge, into either of the Master's cartridge slots, and set links LK19 and LK18 to make banks 4–7 ROM sockets.
  • Machine configurations: save a machine set up as you like it under a name (Machine ▸ Machine Configurations), switch a window to it later, or add it to a network from My Machines in the Network Studio's palette. Networks keep their own copies of their machines' ROMs.
  • Hardware expansions: Machine ▸ Hardware… (⌥⌘E) fits expansions to the Model B: Watford Electronics' 32K Shadow RAM board or the Aries B32 (with or without the B12 ROM board) in the 6502's socket, and a 16K or 32K sideways RAM module in a ROM socket, alone or with a board. The window shows the board's memory to scale, the sixteen sideways banks as the BBC uses them, and for shadow RAM, what programs and the screen each see. Load ROM images into sideways RAM from the Mac, or from the BBC with DFS 2.26's *SRLOAD or the Aries *RLOAD.
  • The boards' own ROMs: the Watford board comes with Shadow RAM OS 2.40 and the Aries B32 with ARIES-B32 1.00, so their commands work as the manuals describe (*HELP RAMSTATUS, *XON 16, *XSTATUS, *RWRITE), and the Aries' own *XTEST passes.
  • VideoNuLA: on any model, each of the sixteen colours can be any of 4,096. Turn it on under Video in the same window; the window shows the colours as programs set them.
  • Hardware Expansion Guide: Help ▸ Hardware Expansion Guide explains each board with examples, and the developer reference has the memory maps and registers.
  • For AI agents (MCP): get_hardware, power_cycle with memory_board, sideways_ram and video_nula, load_sideways_bank, save_sideways_bank, video_nula, set_video_nula_palette, set_video_nula_control, and bus_write to write any register as the BBC's CPU would.
  • Ctrl-Break: Machine ▸ Ctrl-Break (⌃⌘B), a hard reset that keeps memory.
  • Fixed: the debugger's Video ULA view showed the wrong physical colour for each logical colour.