Difference between revisions of "Roadmap"

From MSX Game Library

(Created page with "Here is the planned features: * Add support for new audio format: Arkos Tracker (WIP), TriloTracker. * Add module to handle screen scrolling. * Rewrite BuildTool in Python and...")
 
 
(88 intermediate revisions by the same user not shown)
Line 1: Line 1:
Here is the planned features:
+
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.
* Add support for new audio format: Arkos Tracker (WIP), TriloTracker.
+
 
* Add module to handle screen scrolling.
+
⏳: work in progress features
* Rewrite BuildTool in Python and add multi-plateform support (Linux & MacOS). Sorry, it's still for Windows only for the moment.
+
 
* Add wrapper module for BDOS functions (to handle disk access for DOS, BIN and ROM programs).
+
== Audio ==
* Add full support for MSX-DOS 1 & 2 (e.g. command-line parameters).
+
* Add support for new audio format:
* Add specific wrapper for V9958 (MSX2+) features.
+
** [https://github.com/cornelisser/TriloTracker-Re-player TriloTracker FM] replayer (and update of the new SCC replayer).
* Add support for V9990 graphic chip.
+
** [http://www.xl2s.tk/ Realfun 3] replayer.
* Add support for MoonSound (OPL4) audio chip.
+
** [https://hg.sr.ht/~grauw/re-play Re-Play] replayer (from Grauw).
 +
** [https://github.com/artrag/voicenc_scc Voice synthesis on the ISR] replayer (from ARTRAG).
 +
** [https://www.msx.org/wiki/Moonblaster Moonblaster] replayer.
 +
** [https://doc1oo.github.io/LovelyComposerDocs/en/index.html Lovely Composer] [https://github.com/aburi6800/msx-PSGSoundDriver replayer].
 +
** [https://msx.org/news/software/en/adx-player-ver-40-by-mstz80ax ADX replayer].
 +
** KSS replayer.
 +
** MGSP2 replayer.
 +
** MML replayer.
 +
** NDP replayer.
 +
** MIDI replayer (through PSG, MSX-Music and MSX-Audio).
 +
* Add support for new chip:
 +
** MoonSound (OPL4) audio chip.
 +
 
 +
== Display ==
 +
* Add replayer for [http://msxbanzai.tni.nl/dev/software.html Animecha] data and/or for an original 2D animation format.
 +
* Add video replayer(s) ([https://nazo.main.jp/prog/retropc/acmsxs3.html Easy SCREEN3 Animation Converter]).
 +
* Add bitmap scrolling feature to {{MOD|scroll}} module.
 +
* Add bitmap sprite upscsaler (cf. [https://www.youtube.com/watch?v=9ieE_HG3Bvs NOP])
 +
* ⏳ Add 3D module (generic 3d data format, transformation and rendering)
 +
* Add raycaster module (using DDA)
 +
* Add support for [https://msx.org/forum/msx-talk/general-discussion/undocumented-screen-mode-32x212 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 ([https://www.msx.org/wiki/Konami_JE-700 Konami JE-700] & [https://map.grauw.nl/resources/joynet/ 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 <s>RAM and</s> VRAM [https://github.com/EdouardBERGE/rasm/blob/master/decrunch/lz48decrunch_v006b.asm ][https://github.com/uniabis/z80depacker/blob/master/lz48decrunch_v006_180_speed.asm ]
 +
* 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 <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].
 +
* 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 {{MOD|game_pawn}} and {{MOD|scroll}} modules.
 +
* Create optional fast copy/fill/read functions using unrolled outi/ini for {{MOD|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 <tt>__preserves_regs</tt> directive for all remaining assembly functions to help the compiler optimize register usage. ''(already done for VDP and V9990 modules)''
 +
* Add [https://www.msxcomputermagazine.nl/mccw/92/Multiplication/en.html fast multiplication function] ([https://msx.org/forum/development/msx-development/fastest-possible-multiplication-routine?page=6])

Latest revision as of 10:28, 5 February 2025

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