Roadmap

From MSX Game Library

This is not really a Roadmap since I can't guarantee any delivery date, but here are the new features planned as of 2025/02/05.

⏳: work in progress features

Audio

Display

  • Add replayer for Animecha data and/or for an original 2D animation format.
  • Add video replayer(s) (Easy SCREEN3 Animation Converter).
  • Add bitmap scrolling feature to scroll module.
  • Add bitmap sprite upscsaler (cf. NOP)
  • ⏳ Add 3D module (generic 3d data format, transformation and rendering)
  • ⏳ Add raycaster module (using DDA)
  • Add support for 32x212 screen mode.
  • Add pseudo-bitmap support for Print module for tile-based screen mode and sprite (draw on consecutive 16x16)
  • Add loader for more common MSX picture formats (SCx, MIF, PCX, BMP, etc.).
  • Add support for Yamaha V9938/58 copy commands
  • Add support for Yamaha V9990 copy commands
    • Improve V9990 sample to allow testing of all color mode

Misc.

  • Add support for SRAM cartridge: Game Master 2.
  • Add support for Network cartridge (Gr8net, DenYoNet & Obsonet).
  • Add support for Network cable (Konami JE-700 & JoyNet).
  • Add support for MSX turbo R specific features.
    • Add support for R800 assembler (SDCC now support R800 natively).
  • Compress
    • Add support for ZX0 unpacker to VRAM
    • Add support for LZ48 unpacker to RAM and VRAM [1][2]
  • Improve Game module with an option to force 50 Hz main loop update on all machines

Build tool

  • ⏳ Add native support for SDCC 4.5.0 (done but waiting for SDCC fix release)
  • Add an option to compile the source files in parallel.
  • Add IPS generator (to create a Patch for a given binary).
  • Add build option to convert 16 KB ROM-mapper to RAM segment switch and RAM loader.
  • Use SDCC's -M option to generate file dependency list and allow skip old file option to check all depedecies (Make like).
  • Generate RCP file.
  • Add option in MSXhex to display occupation of each 16K page for plain ROM (as for mapped ROM segments)

Optimization

Optimize, optimize and optimize!

  • Rewrite update function in assembler for game_pawn and scroll modules.
  • Create optional fast copy/fill/read functions using unrolled outi/ini for vdp module (for supported screen mode).
  • Add assembler optimization option to the Build tool (using SDCC peep-hole and/or MDL).
  • Continue to set the __preserves_regs directive for all remaining assembly functions to help the compiler optimize register usage. (already done for VDP and V9990 modules)
  • Add fast multiplication function ([3])