How tough is it to add new drivers for currently unsupported games? Is it the kind of thing an amateur who doesn't know how to program can figure out with info out of the MAME drivers?
Here is what the information in drivers should look like per the TXT file, so I would think you can make your own INI files if you can find correct roms and locations to load in.
#
# This is a very well commented driver file
#
# commented by Scott "Jerry" Lawrence
# 1 Jan 99
#
# This started it's life as a pacman driver.
# the filename is the short name of the driver. for example, "BUNNY.INI"
# will have its rom files in ROMDIR\BUNNY\ROM.BIN
# General: This contains general information about the driver
[General]
# Description: This is the "long" or "full" name of the driver.
# This will be displayed in the -listfull list, or file selector
Description = Pac-Man (Midway)
# Layout: General information about the graphics layouts
[Layout]
# GfxDecodes: number of "Decode"'s below in the file
GfxDecodes = 4
# Orientation: orientation of the decodes. This is to simplify writing
# drivers. Instead of making the driver rotate the info as it
# loads it, this will rotate or flip the images after it's loaded
#
# 0 - no effect
# 1 - Flip X - mirror everything in the X direction
# 2 - Flip Y - mirror everything in the Y direction
# 4 - Swap X & Y - mirror along the top-left and bottom-right diagonal
# 5 - Rotate 90 degtees clockwise
# 3 - Rotate 180 degrees (clockwise)
# 6 - Rotate 270 degrees clockwise (90 degrees counter-clockwise)
Orientation = 0
# GraphicsRoms: stores the names and sizes of the files that contain
# the graphics data
[GraphicsRoms]
# these are numbered, starting with 1, through the number of required roms.
# order in this file of the numbers does not matter. If there are 1, 2, 3,
# and 5 (no 4), then it will stop at 3.
#
# The fields are seperated by spaces, and are as follows:
# (offset) (size) (filename)
Rom1 = 0 4096 pacman.5e
Rom2 = 4096 4096 pacman.5f
# Offset: Location or order of the rom file in memory (in bytes)
# Size: File size of the rom file (in bytes)
# Filename: The name of the rom file. (case insensitive)
#
# Above: pacman.5e starts at memory location 0 and is 4096 bytes large
# pacman.5f starts at memory location 4096 and is 4096 bytes large
# Decode1: As above, the graphics decode banks start at 1, and there are
# as many of them as in "GfxDecodes" above.
[Decode1]
# start: location in the memory space where this, the first bank begins
start = 0
# width: number of bits wide each sprite is.
width = 8
# height: number of bits tall each sprite is.
height = 8
# total: number of sprites in this bank
total = 256
#planes: number of bitplanes in this bank:
# 1 plane = 2^1 or 2 colors
# 2 planes = 2^2 or 4 colors
# 3 planes = 2^3 or 8 colors
# 4 planes = 2^4 or 16 colors
# 5 planes = 2^5 or 32 colors
# 8 planes = 2^8 or 256 colors
planes = 2
# planeoffsets: there should be as many of these as there are planes. They
# are seperated by spaces. In this example, on plane 0, the
# first plane, each sprite starts at 0. Plane 1 starts
# at 4 *BITS* off from the beginning of the sprite.
planeoffsets = 0 4
# xoffsets: the offsets from each sprite start point for each bit for the
# beginnings of each row of pixels
xoffsets = 56 48 40 32 24 16 8 0
# yoffsets: the offsets from each sprite start point for each bit for the
# beginnings of each column of pixels
yoffsets = 64 65 66 67 0 1 2 3
# charincrement: the number of bits to add to the start point to go to
# the next sprite.
charincrement = 128
# here's an example using the above:
# sprite 0: starts at (start) or (0), and is (2) planes deep.
# plane 1 starts at (start+planeoffset1) or (0 + 0)
# The first row (8 pixels wide) of bits can be found at:
# 0+yoffset1+xoffset1, 0+yoffset1+xoffset2, 0+yoffset1+xoffset3, etc.
# 0+64+56, 0+64+48, 0+64+40, etc...
#
# the next plane starts at (4) and, using the example as above is:
# 4+yoffset1+xoffset1, 4+yoffset1+xoffset2, 4+yoffset1+xoffset3, etc.
# 4+64+56, 4+64+48, 4+64+40, etc...
#
# the next sprite starts at (0+128) (bits, not bytes)
# it's first plane starts at (0+128+0)
# it's second plane starts at (0+128+4)
#
# the next sprite starts at (0+256) (bits, not bytes)
# it's first plane starts at (0+256+0)
# it's second plane starts at (0+256+4)
#
# and so on...
#
# ... I think ...
[Decode2]
# bank 2
start = 4096
width = 16
height = 16
total = 64
planes = 2
planeoffsets = 0 4
xoffsets = 312 304 296 288 280 272 264 256 56 48 40 32 24 16 8 0
yoffsets = 64 65 66 67 128 129 130 131 192 193 194 195 0 1 2 3
charincrement = 512
[Decode3]
# bank 3
start = 0
width = 16
height = 16
total = 64
planes = 2
planeoffsets = 0 4
xoffsets = 184 176 168 160 152 144 136 128 56 48 40 32 24 16 8 0
yoffsets = 64 65 66 67 0 1 2 3 320 321 322 323 256 257 258 259
charincrement = 512
[Decode4]
# bank 4
start = 0
width = 16
height = 16
total = 64
planes = 2
planeoffsets = 0 4
xoffsets = 56 48 40 32 24 16 8 0 184 176 168 160 152 144 136 128
yoffsets = 64 65 66 67 0 1 2 3 320 321 322 323 256 257 258 259
charincrement = 512
# Palette: This is where all of the palettes are stored
[Palette]
# as above, these start at 1, and increment from there.
# they are space sperated as above as well.
Palette1 = 4 0 0 0 50 50 50 0 0 30 50 0 0
# (number of colors) (color1 red) (color1 green) (color1 blue)
# (color2 red) (color2 green) (color2 blue)
# etc...
#
# in the above example, there are 4 colors, the first color being (0,0,0).
# second color is (50, 50, 50), etc. The values go from 0 (no color)
# to 63 (full color). Black is "0 0 0" and white is "63 63 63"
Palette2 = 4 0 0 0 0 50 0 0 0 30 50 40 20
Palette3 = 4 0 0 0 0 0 50 60 0 0 60 60 0
Palette4 = 4 0 0 0 50 0 0 30 30 0 50 50 50
Palette5 = 4 0 0 0 50 0 0 0 50 0 50 50 50
Palette6 = 4 0 0 0 40 40 0 0 50 0 30 30 0
Palette7 = 4 0 0 0 50 50 0 30 30 50 50 50 50
Palette8 = 4 0 0 0 50 0 0 30 30 0 50 50 50
Palette9 = 4 0 0 0 0 40 50 0 50 0 50 50 50
Palette10 = 4 0 0 0 0 0 0 30 30 50 50 50 50
Palette11 = 4 60 0 0 60 60 60 0 60 0 0 0 50
Palette12 = 4 0 0 0 60 60 60 0 0 0 0 0 50
#
# the next sections are all for the map and text editing, which is not
# yet supported by TURACO, therefore I will not explain it yet.
#
[DataRoms]
Rom1 = 0 4096 pacman.6e
Rom2 = 4096 4096 pacman.6f
Rom3 = 8192 4096 pacman.6h
Rom4 = 12288 4096 pacman.6j
[Map1]
MapType = pacman
StartAddress = 3436
OverlayAddress = 35B5
OverlayCount = 240
Width = 28
Height = 32
Gfx_Bank = 1
HC1 = 1 4
HC2 = 26 4
HC3 = 1 24
HC4 = 26 24
[Lookup1]
LU1 = a 41 b 42 c 43 d 44 e 45 f 46 g 47 h 48
LU2 = i 49 j 4a k 4b l 4c m 4d n 4e o 4f p 50
LU3 = q 51 r 52 s 53 t 54 u 55 v 56 w 57 x 58
LU4 = y 59 z 5a A 41 B 42 C 43 D 44 E 45 F 46
LU5 = G 47 H 48 I 49 J 4a K 4b L 4c M 4d N 4e
LU6 = O 4f P 50 Q 51 R 52 S 53 T 54 U 55 V 56
LU7 = W 57 X 58 Y 59 Z 5a 0 30 1 31 2 32 3 33
LU8 = 4 34 5 35 6 36 7 37 8 38 9 39 . 25 / 3a
LU9 = ! 5b @ 5c 40 - 3b " 26 ' 27 [ 5d ] 5e
LU10 = \ 5f # 28 $ 29 % 2a ^ 2b & 2c * 2d ( 2e
LU11 = 0 40
[String_Category1]
Name = Main Ghost Names
Gfx_Bank = 1
Lookup = 1
String1 = 3d59 10 "Red Name"
String2 = 3d69 9 "Red Nick"
String3 = 3d78 10 "Pink Name"
String4 = 3d88 9 "Pink Nick"
String5 = 3d97 10 "Aqua Name"
String6 = 3da7 9 "Aqua Nick"
String7 = 3db6 10 "Orange Name"
String8 = 3dc6 9 "Orange Nick"
[String_Category2]
Name = Alt. Ghost Names
Gfx_Bank = 1
Lookup = 1
String1 = 3dd5 10 "Red Name"
String2 = 3de5 9 "Red Nick"
String3 = 3df4 10 "Pink Name"
String4 = 3e04 9 "Pink Nick"
String5 = 3e13 10 "Aqua Name"
String6 = 3e23 9 "Aqua Nick"
String7 = 3e32 10 "Orange Name"
String8 = 3e42 9 "Orange Nick"