An attempt to recreate a dev environment for TMS34010 based Midway Arcade Games (Z, T, X, Wolf Unit) in an effort to build the source for games based on this hardware. This project does not include any source code of the Midway games. Do not ask where to get them either.
The initial reason to start this project was to gather knowledge around the Mortal Kombat games in particular, but doing a wider analysis of all of the TMS34010 games as well as the DCS based games on the audio end, will help understand how the Mortal Kombat games works. But at the same time, if you're more interested in the non-MK games, contributing here and understanding those games better is more than welcome.
Source code should be located at '../midwaysource/<game>'
- Figure out which tools to use for Unix->DOS tools
- Create a DOSBOX dev env
- Try to run MK2 Sound build in DOSBox
- Try to use Graphics tools from NBA Hangtime to build MK Graphics roms
- Try to build any game that does have the program rom makefiles available
Have been told this game is fully buildable.
CARNPROG and CARNIMG help create the final rom files which have interlaced data
The T Unit introduced DCS. All the games from here on out use the DCS sound system.
Program: Makefile is missing but seems like this could be inferred from other games which do have the Program Makefile
GFX: Seems like the tools to build the graphics ROMs are missing, but these tools seem to be available (alongside documentation) in the NBA Hangtime code.
SND: Full sound toolset seems to be here. Need to create the DOSBOX dev env to test to see if this will build. Includes LOADRAM, PLBUILD, QCOMM, HENRY.
Seems to have the TMS34010 asm tools as well as a version of MAKE. Also includes BIGSREC, SREC, TV20
GFX: Includes BGTOOL, LOAD20, NEWWIMP, UNILIST, WLIB, WTARG
SND: At least some SND data seems to be here. Includes SOX
Includes LOADW, MAKE, AOTB, BW, SAMPLER, W32SOLE
Includes LOAD2 (not sure what this is for yet)
GFX: Includes the VDASTUFF graphics tooling (VDA2FRM, ZIP2BIN) alongside documentation on how to use
Section which details what we know about different tools
Reads <game>.def to understand where to read sound files from (REGDIR), and then builds sound files into output ROMs (which are also defined in the def file). Unclear if PLBUILD itself runs HENRY to take the sound files from being SND to CMP, or if PLBUILD only deals with CMP files.
Converts uncompressed waveform .SND files into compressed .CMP files
Seems like it's involved in building program/graphics ROMs
- Mapper.ini lists the .irw files (RAW) and the .lod files (Address). This seems important to build the graphics roms.
- LOAD2 tool seems to care about .lod files. There is a file generated by load which states that the lod files are written to the table header files.
- What generates .lrn files? Seems like game roms are built off of .lrn files -- In NBA Hangtime, MAKEROMS generates the lrn file. Seems to detail the sequence in the ROM files, and then srec takes that to actually build the ROM files. And then the ROMs have to be joined/interlaced after that.