Hi!
I'm developing Atari Lynx emulator and recently I've started working on extending Furnace tracker with Atari Lynx support. Adding support to a new chip means also making it to be supported in file formats. One of those formats I need a support from is VGM.
I would like to ask then, what are the rules of extending VGM to new chips?
I'm thinking about something like a green light from community to make it more official.
Technically it seems to be simple. Firstly there can be used an empty field at offset 0xE4 to store Mikey's (The Atari Lynx' chip) frequency. It's 16 MHz. Secondly there need to be reserved a two operand command code. 0x4E? There does not need to be a support to duap-chip, as Lynx is an not-extendable handheld.
What I can do: I can write support to libvgm, as I have already a working emulator (github.com/laoo/Felix). A can extend my emulator to dump its audio as VGMs. Last but not least I can add support for VGM export in Furnace when it's done.
Extending the VGM specification with an Atari Lynx chip
Technical discussion about the VGM format, and all the software you need to handle VGM files.
Moderator: Staff
There are indeed four 8 bit DACs, but not many games did use it for music. The music and effects are mostly generated using 12 bit LFSR with 9 bits of tap selector (9 outputs of the 12 bit shift register are individually selectable as inputs to a large exclusive or gate) with optional integration (which produces triangle wave instead of square).
I already have implemented VGM writer in my emulator and now I'm extending libVGM. I'll attach sample proof of concept when ready.
I already have implemented VGM writer in my emulator and now I'm extending libVGM. I'll attach sample proof of concept when ready.
I've done simple Proof of Concept adding Atari Lynx implementation to a fork of libVGM.
https://github.com/laoo/libvgm
Attaching three example vgm files.
The source compiles using visual studio solution. I have some problems with cmake project - I really never learned how to use it properly.
https://github.com/laoo/libvgm
Attaching three example vgm files.
The source compiles using visual studio solution. I have some problems with cmake project - I really never learned how to use it properly.
- Attachments
-
- FunkyXmas.vgm
- (257.13 KiB) Downloaded 125 times
-
- Acidjazzed_Evening_1.vgm
- (351.21 KiB) Downloaded 111 times
-
- 2048.vgm
- (82.2 KiB) Downloaded 138 times
Hi guys!
Here's another one made using forked version of Furnace Tracker (cover from rather known game Tyrian).
Enjoy!
Here's another one made using forked version of Furnace Tracker (cover from rather known game Tyrian).
Enjoy!
- Attachments
-
- Camanis.vgm
- (152.13 KiB) Downloaded 148 times