vgmrips

The forum about vgm files
It is currently 2023-02-03, 13:20:29

All times are UTC + 1 hour [ DST ]




Post new topic Reply to topic  [ 5 posts ] 
Author Message
PostPosted: 2022-02-11, 14:07:54 
Offline

Joined: 2022-02-11, 13:28:34
Posts: 3
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.


Top
 Profile  
 
 Post subject:
PostPosted: 2022-02-12, 16:32:52 
Offline

Joined: 2020-03-05, 9:25:23
Posts: 24
Looking at the tech specs for the Lynx, is it really necessary at all? If I understand correctly it's mostly just digital audio. Or do many games use it in PSG mode?


Top
 Profile  
 
 Post subject:
PostPosted: 2022-02-12, 17:52:47 
Offline

Joined: 2022-02-11, 13:28:34
Posts: 3
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.


Top
 Profile  
 
 Post subject:
PostPosted: 2022-02-16, 18:05:53 
Offline

Joined: 2022-02-11, 13:28:34
Posts: 3
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. :roll:


Attachments:
FunkyXmas.vgm [257.13 KiB]
Downloaded 57 times
Acidjazzed_Evening_1.vgm [351.21 KiB]
Downloaded 54 times
2048.vgm [82.2 KiB]
Downloaded 51 times
Top
 Profile  
 
 Post subject:
PostPosted: 2022-02-20, 23:05:51 
Offline

Joined: 2022-02-11, 11:37:38
Posts: 1
Hi guys!

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 52 times
Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 5 posts ] 

All times are UTC + 1 hour [ DST ]


Who is online

Users browsing this forum: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Group
[ Time : 0.035s | 15 Queries | GZIP : On ]