Skip to content

bm v0.3.0

Latest

Choose a tag to compare

@github-actions github-actions released this 10 Nov 19:19
· 182 commits to bm-core since this release

bm v0.3.0

Highlights

  • bm SNES — a Super Nintendo emulator with the machine written in C (65C816, SPC700 and DSP with sound, DMA/HDMA, PPU with ARMv6 SIMD on the Pi). It plays .sfc and .smc files from /sfc. It has GPU 2x and 3x scale modes, a native 256x256 mode, a speed controller and a new menu: Esc on the keyboard, L2+R2 on the pad. It is in the Market.
  • bm PSX — a PlayStation 1 emulator with a clean-room C core. It has a recompiler (JIT) for the Pi Zero W, with a self-test at start, and per-frame timers in the debug HUD. BIOS and games come from /psx.
  • RGB30 GPU (Mali) — the 3D renderer now runs on the Mali GPU of the RK3566: textures, lights and cel shading in the vertex shader, 4x MSAA, 32768-triangle batches and a multicore resolve. A heavy Dark Night frame cost went from 2.5 to 0.83 ms in the resolve. 3D Bench covers it (bm3d 7.x). The RGB30 config now has cores=2|3|4.
  • bm SNES-16 — a native ARM SNES-16 demo with its own API (s16_*). The keyboard maps WASD, UIOP, Q/E and , ., and Esc opens the menu.
  • New apps — bm Font (font editor), bm Tape (synth, drums, sequencer, mixer), bm Mesh and updated bm Studio and bm Pixel (PNG import from /docs).
  • bml — new language features: switch/case/default and peek2/poke2 for halfword memory access.
  • Graphics API — new 2D vector primitives: blur, conv3, radgrad. New screen(256, 256) mode on the Pi.
  • Menu and Settings — the menu was refactored. The ARM draws only the 360p menu, and the GPU draws 720p and 1080p.
  • Games — Dark Night and Yharnam were reworked (sliding doors, one-time map draw, free passages). Overbit is now one .bm for both kernels.

Fixes

  • RGB30 menu lock timer now restarts after a game, an app or a page.
  • RGB30 Dark Night no longer freezes after the splash (shadow mask when the GPU fails).
  • Market catalog check hashes big files on a worker core.

Notes

  • bm SNES needs this kernel or newer.
  • Update kernel.img on the SD card with ./easy_install.sh.