mirror of https://github.com/wwarthen/RomWBW.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
88 lines
2.3 KiB
88 lines
2.3 KiB
VGM File Info Scanner for CP/M
|
|
===============================
|
|
|
|
A utility that scans all .VGM files in the current directory and
|
|
displays a table showing which audio chips each file uses.
|
|
|
|
Version 1.1 uses a hybrid detection approach:
|
|
- Checks VGM header clock values to detect chip types
|
|
- Scans VGM command stream to detect multiple instances of same chip type
|
|
|
|
Usage:
|
|
------
|
|
|
|
Simply run the program from a directory containing VGM files:
|
|
|
|
VGMINFO
|
|
|
|
No command line arguments are needed. The program will automatically scan
|
|
all .VGM files in the current directory.
|
|
|
|
Output:
|
|
-------
|
|
|
|
The program displays a formatted table with two columns:
|
|
- Filename: The name of the VGM file
|
|
- Chips Used: A comma-separated list of audio chips used in that file
|
|
|
|
Supported Chips:
|
|
----------------
|
|
|
|
The program can detect the following audio chips:
|
|
- SN76489 (PSG - Programmable Sound Generator)
|
|
- YM2612 (FM Synthesis chip used in Sega Genesis/Mega Drive)
|
|
- YM2151 (OPM - FM Operator Type-M)
|
|
- YM3812 (OPL2 - FM synthesis chip)
|
|
- YMF262 (OPL3 - Enhanced FM synthesis chip)
|
|
- AY-3-8910 (PSG used in many arcade and home computers)
|
|
|
|
Example Output:
|
|
---------------
|
|
|
|
VGM Music Chip Scanner v1.1
|
|
|
|
Filename Chips Used
|
|
======== =====================
|
|
BGM 2xAY-3-8910
|
|
ENDING AY-3-8910
|
|
INCHINA YM2612
|
|
SHIRAKAW SN76489, YM2612
|
|
STARTDEM 2xSN76489, AY-3-8910
|
|
WONDER01 2xSN76489
|
|
======== =====================
|
|
|
|
Notes:
|
|
------
|
|
|
|
- The program reads the VGM file headers and scans up to 255 commands from
|
|
the VGM data stream for accurate chip detection.
|
|
|
|
- Files that don't have a valid VGM header are silently skipped.
|
|
|
|
- Chip detection uses a hybrid approach:
|
|
* VGM header clock values (offsets 0x0C, 0x2C, 0x30, 0x74) determine
|
|
which chip types are present
|
|
* Command stream scanning detects multiple instances (e.g., "2xSN76489")
|
|
|
|
- AY-3-8910 clock detection respects VGM version - only checked for v1.51+
|
|
to avoid false positives from invalid header data in older VGM versions.
|
|
|
|
Building:
|
|
---------
|
|
|
|
To rebuild from source:
|
|
|
|
build_vgminfo.cmd
|
|
|
|
Or manually with TASM:
|
|
|
|
tasm -t80 -b -g3 -fFF vgminfo.asm vgminfo.com
|
|
|
|
Author:
|
|
-------
|
|
|
|
Created for RomWBW/CP/M systems
|
|
Based on VGM format specification from vgmrips.net
|
|
|
|
An AI LLM was utilized in the creation of this
|
|
application.
|
|
|