42bs Posted July 6 Share Posted July 6 Continuation of this @karri the current Furnace does have a Lynx mode. So you mean the .vgm file it exports cannot be played directly on the Lynx? Quote Link to comment Share on other sites More sharing options...
laoo Posted July 6 Share Posted July 6 (edited) VGM is an unstructured stream of pairs (register,value) interleaved with delay values to wait between writes. I implemented the VGM output from Furnace (alongside with lobbying for Mikey support in VGM which materialized in VGM 1.72) because at that time there was no ROM export. I haven't looked into Furnace for months so I have no idea whether and if, how that export works. As a proof of concept I've accompanied that export with a tool that converts exported VGM to a LNX image with a simple player and converted music: https://github.com/laoo/VGM2LNX There is no compression though as I felt that all my effort was generally ignored in the community and I started working on other things. It's true that VGM loses all the structure of the music and it could be beneficial to retain it, on the other hand we have to think about reasonable balance wrt required CPU processing to actually play the music. Furnace format is quite computationally demanding to actually play it and a good compression of raw stream of register changes for each channel separately could be a reasonable compromise. On Atari XL/XE is quite established format for compression register-changes-stream with LZSS and it produces reasonable output with very low CPU processing requirements, that's why I was thinking about it (I even modified SAP-R modules to LZSS convertor to accept VGMs produced by Furmace and it works). @42bs Regarding just compressing music with UPKR or something similar the problem is that you essentially need the whole uncompressed history in the memory to successfully decompress the whole, so it's rather not suitable for compressing music where we need to just play actual "notes" and immediately forget about it. Hence there are special stream compressors to deal with it. Edited July 6 by laoo 1 Quote Link to comment Share on other sites More sharing options...
Eagle Posted July 6 Share Posted July 6 Try Huffmunch https://github.com/bbbradsmith/huffmunch or exomizer https://github.com/simondotm/vgm-player-bbc Quote Link to comment Share on other sites More sharing options...
42bs Posted July 9 Author Share Posted July 9 @laoo oh, I thought VGM is already optimized for the respective platform. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.