View Full Version : I've written a config program
Cakemeister
08-15-2008, 12:11 PM
The official HyperHQ program isn't finished yet, so I wrote one myself.
It works fairly well, well enough for me, anyway. I had to guess at some of the more obscure features. But it does stuff like confgure keycodes, change screen mode and resolution, and change default artwork parameters in emulators.
You can get HConfig here (http://cpmaker.mameprojects.com/files/hconfig_setup.exe). Unzip it into your Hyperspin home directory.
Regards,
Cakemeister
brian_hoffman
08-15-2008, 12:34 PM
Checking it out now.
This isnt a virus is it? hehe
wow, this wasn't expected, but thanks Cake man!
I personally hate dealing with ASCII codes when configuring my controls, so this will come in handy for now.
brian_hoffman
08-15-2008, 12:40 PM
Update: Wow... It works pretty damn good. I toggled a few settings and had sucess.
Thank you very much for the contribution :)
Wait till you get your hand on the theme editor and HyperLaunch... Then you can go crazy with your app..
:)
Brian Hoffman
joebells
08-15-2008, 12:52 PM
thanks, are you the same cakemeister from byoac?
brian_hoffman
08-15-2008, 01:00 PM
I believe there is only one Cakemeister.. Aka buddabing
thunder2
08-21-2008, 01:48 PM
does it have a feature for the emulator directories and rom directories and so forth
joebells
08-21-2008, 01:53 PM
yes it does
billpa
08-21-2008, 04:52 PM
Wow...not sure how I missed this post. Looks pretty good! Will have some more time to play with it tomorrow. Thanks given.
Cakemeister
08-23-2008, 02:52 PM
Hello,
I've updated my config program to generate game lists and also to use the keycode list that Billpa provided.
It will generate game lists from old (pre-listxml) versions of MAME, more recent versions of MAME, and any emulator for which a dat file exists. (which is just about all of them)
So, besides the hconfig.exe program itself, three other binaries are included.
a) info2xml.exe - converts a MAME -listinfo file into a MAME -listxml file, with some limitations
b) dat2xml.exe - converts a .DAT format file into a MAME -listxml file.
c) listgen.exe - the list generator.
The listgen program is a somewhat stripped down version of my list generator program. It won't read catver files or other special files like my full version will. It will, however, allow you to specify filtering based on SQL.
Enjoy.
joebells
08-23-2008, 04:49 PM
man cakemeister, thank you
very appreciated, I'll be trying this later tonight or tomorrow
joebells
08-23-2008, 07:16 PM
cakemeister it isn't generating game lists for me it says that it is but nothing is there. On the command window that stays up it says.
Usage: dat2xml <input file> <output file>
Error: unknown option: 5200.xml
error in options_parse_commandline
failed to initialize arguments
my guess is it needs quotes around atari 5200.xml
edit: Well I went ahead and took out the space in atari 5200 and made it atari5200 and it got past that part but it immediately gave me an error and said listgen.exe has stopped working. When I press close program, hconfig then says game list generation complete like nothing went wrong. It does generate a file but its severely messed up. Here is the text of the file it generates
<?xml version="1.0"?>
<!DOCTYPE mame [
<!ELEMENT mame (game+)>
<!ELEMENT game (description, year?, manufacturer, history?, biosset*, rom*, disk*, sample*, chip*, video?, sound?, input?, dipswitch*, driver?)>
<!ATTLIST game name CDATA #REQUIRED>
<!ATTLIST game sourcefile CDATA #IMPLIED>
<!ATTLIST game runnable (yes|no) "yes">
<!ATTLIST game cloneof CDATA #IMPLIED>
<!ATTLIST game romof CDATA #IMPLIED>
<!ATTLIST game sampleof CDATA #IMPLIED>
<!ELEMENT description (#PCDATA)>
<!ELEMENT year (#PCDATA)>
<!ELEMENT manufacturer (#PCDATA)>
<!ELEMENT history (#PCDATA)>
<!ELEMENT biosset EMPTY>
<!ATTLIST biosset name CDATA #REQUIRED>
<!ATTLIST biosset description CDATA #REQUIRED>
<!ATTLIST biosset default (yes|no) "no">
<!ELEMENT rom EMPTY>
<!ATTLIST rom name CDATA #REQUIRED>
<!ATTLIST rom bios CDATA #IMPLIED>
<!ATTLIST rom size CDATA #REQUIRED>
<!ATTLIST rom crc CDATA #IMPLIED>
<!ATTLIST rom md5 CDATA #IMPLIED>
<!ATTLIST rom sha1 CDATA #IMPLIED>
<!ATTLIST rom merge CDATA #IMPLIED>
<!ATTLIST rom region CDATA #IMPLIED>
<!ATTLIST rom offset CDATA #IMPLIED>
<!ATTLIST rom status (baddump|nodump|good) "good">
<!ATTLIST rom dispose (yes|no) "no">
<!ATTLIST rom soundonly (yes|no) "no">
<!ELEMENT disk EMPTY>
<!ATTLIST disk name CDATA #REQUIRED>
<!ATTLIST disk md5 CDATA #IMPLIED>
<!ATTLIST disk sha1 CDATA #IMPLIED>
<!ATTLIST disk region CDATA #IMPLIED>
<!ATTLIST disk index CDATA #IMPLIED>
<!ELEMENT sample EMPTY>
<!ATTLIST sample name CDATA #REQUIRED>
<!ELEMENT chip EMPTY>
<!ATTLIST chip name CDATA #REQUIRED>
<!ATTLIST chip type (cpu|audio) #REQUIRED>
<!ATTLIST chip soundonly (yes|no) "no">
<!ATTLIST chip clock CDATA #IMPLIED>
<!ELEMENT video EMPTY>
<!ATTLIST video screen (raster|vector) #REQUIRED>
<!ATTLIST video orientation (vertical|horizontal) #REQUIRED>
<!ATTLIST video width CDATA #IMPLIED>
<!ATTLIST video height CDATA #IMPLIED>
<!ATTLIST video aspectx CDATA #IMPLIED>
<!ATTLIST video aspecty CDATA #IMPLIED>
<!ATTLIST video refresh CDATA #REQUIRED>
<!ELEMENT sound EMPTY>
<!ATTLIST sound channels CDATA #REQUIRED>
<!ELEMENT input EMPTY>
<!ATTLIST input service (yes|no) "no">
<!ATTLIST input tilt (yes|no) "no">
<!ATTLIST input players CDATA #REQUIRED>
<!ATTLIST input control CDATA #IMPLIED>
<!ATTLIST input buttons CDATA #IMPLIED>
<!ATTLIST input coins CDATA #IMPLIED>
<!ELEMENT dipswitch (dipvalue*)>
<!ATTLIST dipswitch name CDATA #REQUIRED>
<!ELEMENT dipvalue EMPTY>
<!ATTLIST dipvalue name CDATA #REQUIRED>
<!ATTLIST dipvalue default (yes|no) "no">
<!ELEMENT driver EMPTY>
<!ATTLIST driver status (good|imperfect|preliminary) #REQUIRED>
<!ATTLIST driver emulation (good|imperfect|preliminary) #REQUIRED>
<!ATTLIST driver color (good|imperfect|preliminary) #REQUIRED>
<!ATTLIST driver sound (good|imperfect|preliminary) #REQUIRED>
<!ATTLIST driver graphic (good|imperfect|preliminary) #REQUIRED>
<!ATTLIST driver cocktail (good|imperfect|preliminary) #IMPLIED>
<!ATTLIST driver protection (good|imperfect|preliminary) #IMPLIED>
<!ATTLIST driver palettesize CDATA #REQUIRED>
]>
<mame>
I am running this on a vista 32 bit box trying to generate an atari 5200 list I went through and changed all my directories and settings to the atari5200 name without a space and it still gives that error. The rom folder has all the roms specified in the dat. The dat is the current no-intro atari 5200 dat found here http://www.no-intro.org/datset.htm renamed atari5200 of course.
Hope the info provided can be of some assistance
edit 2: I see listgen creates a log file of some sort here is the text of that
15 : Log System initted
15 : Verbose flag=0, debug flag=0
15 : fename=hyperspin, need_template=0
15 : listxml_exists=1, gamelist_exists=0, listfull_exists=0
15 : listxml.txt already exists
15 : Building game trees
15 : Opening MAME XML file
15 : null root node
15 : Parsing MAME XML file
oh and the command window now says
parse error, unexpected DQUOTE, expecting STRING
Its also spewing a bunch of weirdly named files, like s19s into the root of the drive I have it installed on when I open them in notepad it shows the configs I changed
Cakemeister
08-24-2008, 04:47 AM
cakemeister it isn't generating game lists for me it says that it is but nothing is there. On the command window that stays up it says.
Usage: dat2xml <input file> <output file>
Error: unknown option: 5200.xml
error in options_parse_commandline
failed to initialize arguments
my guess is it needs quotes around atari 5200.xml
edit: Well I went ahead and took out the space in atari 5200 and made it atari5200 and it got past that part but it immediately gave me an error and said listgen.exe has stopped working. When I press close program, hconfig then says game list generation complete like nothing went wrong. It does generate a file but its severely messed up. Here is the text of the file it generates
I am running this on a vista 32 bit box trying to generate an atari 5200 list I went through and changed all my directories and settings to the atari5200 name without a space and it still gives that error. The rom folder has all the roms specified in the dat. The dat is the current no-intro atari 5200 dat found here http://www.no-intro.org/datset.htm renamed atari5200 of course.
Hope the info provided can be of some assistance
edit 2: I see listgen creates a log file of some sort here is the text of that
oh and the command window now says
parse error, unexpected DQUOTE, expecting STRING
Its also spewing a bunch of weirdly named files, like s19s into the root of the drive I have it installed on when I open them in notepad it shows the configs I changed
You're right, it needs the quotes. I tested it on Daphne and Zinc, no quotes needed on those. I'll get a fix out asap.
Thanks for the bug report.
Cakemeister
08-24-2008, 06:49 AM
Okay, I've uploaded a new version. I had to add quotes to filenames in a lot of places.
Thanks given to joebells for his bug report.
deadsoulz
08-24-2008, 09:41 AM
Great work! Much appreciated.
joebells
08-24-2008, 10:18 AM
cakemeister the new version worked for my atari5200 setup that I had stripped all the spaces out of the file names/folder names(it did not work last night even after doing that) but when I went and tried to use it on atari lynx it again gives me that error. It makes it past the first part now where before if there was a space in the name it spewed errors on the command line and didn't do anything. But it won't make it past the listgen part. It says parse error, unexpected string
Cakemeister
08-26-2008, 06:11 AM
I've uploaded a new version which should be able to handle these oddities, such as very long rom names, ampersands in rom names, and so on.
DaveMMR
08-31-2008, 09:46 AM
Thanks Cakemeister. Good work as always - I'm playing around with it now.
Dariusz
09-05-2008, 12:39 AM
Hi Cakemelster,
Can you please advise how to use the dat2xlm app? I have tried it from command line and double clicking on the app, but cannot get it started to convert an mame 127 dat file.
Your help is appreciated.
BYW, DO you know how I can filter for say US games from a dat ot xlm?
Dariusz
Cakemeister
09-05-2008, 12:11 PM
Hi Cakemelster,
Can you please advise how to use the dat2xlm app? I have tried it from command line and double clicking on the app, but cannot get it started to convert an mame 127 dat file.
Your help is appreciated.
BYW, DO you know how I can filter for say US games from a dat ot xlm?
Dariusz
Hello,
The dat2xml app is a command line application that takes two parameters, the input file and the output file. The filenames must be in quotes if they contain spaces:
dat2xml mame0127.dat "c:\program files\hyperspin\xml.txt"
Also, the dat file must be in clrmamepro format. There are several dat file formats, the clrmamepro format has "clrmamepro" on the first line:
clrmamepro (
name ZiNc
description "ZiNc v1.1"
category "Playstation based arcade games"
version 20050731
date 2005-07-31
author Logiqx
homepage "Logiqx Home Page"
url http://www.logiqx.com/
comment "Please report any data file issues at http://forum.logiqx.com/"
)
I'm not sure why you need to use dat2xml for a recent version of MAME.
Filtering out games based on version is an advanced topic, you can email me (cakemeister AT comcast DOT net) if you like and I'll try to explain it.
Regards,
Cakemeister
Dariusz
09-05-2008, 05:35 PM
Hi Cakemeister,
Thank you for your reply.
I'm hoping to use dat2xlm app to creae the HS mame games list xml so that the wheel on HS displays the full name of the game instead of the rom name.
I originally setup HS wheel game list by using the dir2xml, then using HyperLogo to create the fonts for the image directory for the wheel.
I now seek to replace the rom name inmy wheel list to the fill name (I hoping just the name and no other information). Using dat2xml seems to be the easiest way to acheave my goal.
Is there a easier way of acheaving my goal, which I'm not awere of?
Thanks
Dariusz