The mame.ini file is correct change arcade_15 to ms2930
And use this code in your vmmaker.ini
; VideoModeMaker - Options
; ------------------------
    
; 1. MAME
; -------
; Path for Mame executable, in case we want to extract xml information from it.
	MameExe = "D:\Hyperspin\Emulators\MAME\groovymame64_0147u3.014.exe"
; Path for Mame ini folder, in case we want to create an ini file for each game.
; Important: existing ini files will be overwritten.
	IniPath = "D:\Hyperspin\Emulators\MAME\ini\"
; Mame options.
	ListFromXML = 1		; Processes Mame XML and get video mode list from it
	GenerateXML = 1		; Extracts XML from Mame (only needed once)
	OnlyListMain = 0	; Only list resolutions for games contained in MameMain.txt
	GenerateInis = 0	; Creates an ini file for each Mame game, in the IniPath folder
	SDLMame = 0		; Use SDLMame specific options
; Monitor orientation
	MonitorHorizontal = 1	; 0 = Rotating monitor: horizontal and vertical games at their native resolution
				;     Suitable for users that physically rotate their CRTs
				; 1 = Horizontal monitor: horizontal games run at their native resolution and
				;     vertical games are rotated to fit in horizontal monitor	
	RotatingDesktop = 0	; Specifies if both desktop and monitor are rotated
; Aspect ratio for vertical games on horizontal monitor
; 	4:3 (keeps original aspect ratio)
; 	3:3 (stretches to square format)
; 	3:4 (stretches to full screen)
;	h:v (custom aspect ratio)
	VerticalAspect = "4:3"
; 2. MONITOR
; ----------
; Monitor Type. Valid types: D9800, D9400, D9200, EGA, VGA, MULTI, H9110, PAL, NTSC, GENERIC, CUSTOM
	MonitorType = "CUSTOM"
; Monitor CUSTOM. These values will be used if MonitorType = "CUSTOM"
;
; monitor_specs0-6  HfreqMin-HfreqMax, VfreqMin,VfreqMax, HFrontPorch, HSyncPulse, HBackPorch, VfrontPorch, VSyncPulse, VBackPorch, HSyncPol, VSyncPol, ActiveLinesLimit, VirtualLinesLimit
;
; 	* HfreqMin-HfreqMax: Minimum and maximum horizontal frequency, in Hz. Defines the range of horizontal frequencies the monitor is capable to sync.
; 		The higher the horizontal frequency, the higher the vertical resolution available for the same vertical refresh.
; 		The higher the horizontal frequency, the higher the vertical refresh available for the same vertical resolution.
; 		The higher the horizontal frequency, the lower the horizontal amplitude of active video (narrower picture).
;
;	* VFreqMin-VfreqMax: Minimum and maximum vertical frequency, in Hz, Defines the range of vertical frequencies the monitor is capable to sync.
;
;	* HFrontPorch, HSyncPulse, HBackPorch: Horizontal timing and geometry, values in µs
;
;	* VfrontPorch, VSyncPulse, VBackPorch: Vertical timing and geometry, values in ms
;
;	* HSyncPol,VSyncPol: sync polarities, 0 = negative, 1 = positive.
;
;	* ActiveLinesLimit: Vertical resolutions until ActiveLinesLimit value included, are generated as progressive, regardless the possibility
;                           of obtaining the required vertical refresh value.
;
;	* VirtualLinesLimit: Vertical resolutions above ActiveLinesLimit and below VirtualLinesLimit are virtualized, that is, an interlaced resolution
;                            bigger that the native one is generated, with the right refresh, and "hardware stretch" is applied.
;                            Vertical resolutions above VirtulaLinesLimit are generated as interlaced, without any stretching.
        monitor_specs_0 = 15450.00-16050.00, 55-65, 3.19, 4.75, 6.45, 0.191, 0.191, 1.164, 0, 0, 288, 448
        monitor_specs_1 = 23900.00-24900.00, 55-65, 2.87, 3.0, 4.44, 0.451, 0.164, 1.148, 0, 0, 480, 768
        monitor_specs_2 = 31000.00-32000.00, 55-65, 0.33, 3.58, 1.75, 0.316, 0.063, 1.137, 0, 0, 576, 768
; Tolerance for horizontal frequency, in kHz, enables extending the range defined by [ HfreqMin, HfreqMax ]
; The resulting allowed frequency range will be [ HfreqMin - HfreqTolerance, HfreqMax + HfreqTolerance ]
	HfreqTolerance = 0.010
; 3. MODELINE GENERATOR
; ---------------------
; Total number of modelines to generate. Here are the recommended values for each driver version:
; CRT_Emudriver, based on Catalyst 6.5:	160 modes (accepts up to 200, but above 160 HyperSpin will refuse to load)
; CRT_Emudriver, based on Catalyst 9.3:	120 modes (accepts some more but above 120 you can get some blue screens)
; Regular Catalyst                    :	 60 modes (won't accept any more)
	TotalModes = 120
; If enabled, only creates modes with 32 bits per pixel color depth
	Only32BPPModes = 0
; Method for mode table generation. If Mame xml is processed, that will create a lot of different video modes, so the mode table
; will be optimized keeping the most relevant ones, and dropping the rest, to keep below the TotalModes value.
;
; 0 = Static table: modelines are generated keeping their original vertical refresh. This method is intended to be used in
;     combination with ini files for each game. 
;
; 1 = Dynamic table: a table of dummy modes is created using xres and yres values while ignoring vfreq. This method is intended
;     to be used in combination with Switchres or Groovymame. No ini files are required using this method (you should disable the
;     GenerateInis option).
;
; 2 = Magic table: a table of 'magic resolutions' is created, by ignoring xres and vfreq and just keeping yres. This method greatly reduces
;     the total number of modes in the list. It's only supported by GroovyMAME, and is intended as a workaround for the Hyperspin issue.
	ModeTableMethod_Custom = 0
	ModeTableMethod_XML = 2
; Minimum resolution values (these will be used instead of lower values)
	XresMin_XML = 240
	YresMin_XML = 224
	YresRound_XML = 4
	XresMin_Custom = 240
	YresMin_Custom = 160
	YresRound_Custom = 0
; Minimum dotclock value allowed by the video card, in MHz (i.e. DotClockMin = 7.010)
	DotClockMin = 0
; Number of iterations used by the mode generator [0,5]. The higher the number of iterations, the bigger the accuracy of the vertical
; refreshed obtained, normally at the cost of increasing the horizontal frequency strictly required.
	Iterations = 0
; Specifies if the refresh label is multiplied by 10 before rounding (experimental).
	VFreqLabelx10 = 0
; 4. DRIVER
; ---------
; Path for the driver folder
	DriverPath = ".\Driver\"
; If UpdateRegistry is enabled, UpdateDriver will only work if the driver version found in DriverPath matches the one installed
; in the system.
	UpdateRegistry = 1	; Specifies if the video card registry section will be updated with the new video modes
				; (will only work in combination with CRT_EMUDriver).
		
	UpdateDriver = 0	; Specifies if the driver files in DriverPath will be updated with the new video modes, for
				; future installations.
	AnyCatalyst = 0		; Allows modelines to be installed for any Catalyst version. This option is experimental and
				; known to produce some problems.
That should sort out the resolutions and hyperspin problems for you.
Also add this line to your ReslList.txt in your vmmaker folder
## Desktop ##
 640 x 480 @ 60.000000 desktop