Difference between revisions of "Roadmap"

From MSX Game Library

(Build tool)
 
Line 53: Line 53:
 
* ⏳ Add native support for SDCC 4.6.0
 
* ⏳ Add native support for SDCC 4.6.0
 
* Check advantage of using C17, C23 or C2y.
 
* Check advantage of using C17, C23 or C2y.
* Check use of <tt>--const-stringlit</tt> SDCC option.
+
* Check use of <tt>--const-stringlit</tt> and <tt>--nolabelopt</tt> SDCC options.
 
* Add an option to compile the source files in parallel.
 
* Add an option to compile the source files in parallel.
 
* Add IPS generator (to create a Patch for a given binary).
 
* Add IPS generator (to create a Patch for a given binary).
Line 59: Line 59:
 
* Use SDCC's <tt>-M</tt> option to generate file dependency list and allow skip old file option to check all depedecies (Make ''like'').
 
* Use SDCC's <tt>-M</tt> option to generate file dependency list and allow skip old file option to check all depedecies (Make ''like'').
 
* Generate [https://sysadminmosaic.ru/en/msx/carnivore2/specification?redirect=1#rcp_file_format RCP file].
 
* Generate [https://sysadminmosaic.ru/en/msx/carnivore2/specification?redirect=1#rcp_file_format RCP file].
 
  
 
== Optimization ==
 
== Optimization ==

Latest revision as of 11:02, 25 June 2026

This is not really a Roadmap since I can't guarantee any delivery date, but here are the new features planned as of 2025/01/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 Movie module (rewrite MGLV exporter from MSXimg and update MSX replayer)
  • 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.
  • Add support for V9968 cartridge.
  • Add support for MSX2's 1-color-per-line sprite feature in Pawn module.

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.
  • Add support for variable-width fonts.
  • Add support for ISR in page 3 using IM2 (so page 0 is free to switch).

Build tool

  • ⏳ Add native support for SDCC 4.6.0
  • Check advantage of using C17, C23 or C2y.
  • Check use of --const-stringlit and --nolabelopt SDCC options.
  • 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.

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])

Want to contribute to MSXgl? Check this article.