Meka
Meka
Meka
64c - Documentation
============================
Multi machine emulator for MS-DOS and MS-Windows.
(c) in 1998-2003 by Omar Cornut / Bock (Zoop) (omar @ cornut.fr),
Original sound engine by Hiromitsu Shioya / Hiro-shi.
Implement code based on Marat Faizullin, Maxim Gready, Ulrich Cordes work.
Implement Emu2413 from Mitsutaka Okazaki.
==========================================================================
This documentation is best viewed with a fixed width font.
----------------------------------------------------------------------------
Level 0 : I am a speedy guy
----------------------------------------------------------------------------
If you are looking for how to register, press Up, Down, Right, Left and
start directly at Level 7. However I strongly recommend reading that whole
documentation, if only to make me think I haven't wrote it for nothing.
----------------------------------------------------------------------------
----------------------------------------------------------------------------
Level 1 : Introduction
----------------------------------------------------------------------------
You can play other systems on it only if you are smart enough to figure how.
And if you are, I doubt you will want to play Nintendo games. So forget it.
The SG-1000, for "Sega Game 1000", was released in Japan in July 1983.
Heavily based on the MSX hardware, it is the first known Sega home console
system. It was later distributed by Grandstand in New Zealand.
The SC-3000, for "Sega Computer 3000", is a variation of the SG-1000 (still
compatible with it) with a keyboard, and some optional peripherals such as
a printer (SP-400), a tape recorder (SR-1000), or that big extension called
the Super Control Station (SF-7000), providing a 3" floppy disk drive, a
Centronics printer port, and more available memory. The SC-3000 was released
in November 1983 in Japan, and then was sold in certain countries around the
world (Oceania and Europe), usually shipped with a BASIC programming cart.
Later, Sega released some updates to these systems, including, but not
limited to the SC-3000h (a re-release of the SC-3000 with a hard keyboard),
and the SG-1000-II (also called Mark II). The SK-1100, for "Sega Keyboard"
was an upgrade to the SG-1000 and SG-1000-II to be able to use keyboard
software such as the BASIC or the Music Editor.
The Mark III, released in 1985 is the first Master System compatible system,
and still have the necessary ports to plug the keyboard. A FM extension was
made available later, providing with a much better sound hardware. FM musics
are supported by most games released in Japan between 1986 and 1988, Out Run
being the game that first brought FM.
In 1986 came the Sega Master System, two years after Nintendo released their
crappy gray box. It was sold just about everywhere, but the Japanese version
had the FM extension embedded and profited from it because of better musics.
Other differences with the Mark 3 are the 3-D Glasses mini jack port and the
embedded rapid fire unit, none of them being available on non-Japanese units.
The Master System is also backward compatible with the older systems, with
the same palette problem as the Mark III.
The Master System had an interesting success in Brasil, where Tec Toy, the
official distributor, released plenty of ports from Game Gear, and sometimes
even original games, up to 1997. Tec Toy released a Master System 3 for the
Brasilian market, although it is in fact just a renamed Master System 2.
They then later released the Master System Super Compact, and a pink colored
version called the Master System Girl.
Last but not least, in early December 2002, a new and surprising package was
released in Brasil, called the "Master System 3 Collection". It contains
about fifty games emddedded in a while colored, SMS 2 shaped console.
The Sega Game Gear was released in 1991. It is nothing but a portable
Master System with a smaller screen, a communication port (for dual player
gaming) and a bigger palette (4096 colors available instead of 64 on the
Master System). The old SG-1000/SC-3000 video modes are still supported
but the default palette was removed so most SG-1000/SC-3000 software have
wrong colors on a Game Gear as they do not setup the colors manually.
There was a machine called the Othello Multi Vision, released in Japan,
which is in fact a SG-1000 with a new shape (pretty small, and embed an
incomplete keyboard) and an Othello game in ROM. Eight cartridges games
were specifically released for it. They are fully compatible with SG-1000.
----------------------------------------------------------------------------
Level 2 : Features
----------------------------------------------------------------------------
Graphics
--------
Unlike some other emulators, MEKA doesn't feature thousands of different
graphic engines, but only one, and a working one. Therefore most games
should be working, as it uses a true line-per-line refresh, and supports
raster effects (including palette effects).
- One using the OPL chipset present on most soundcards, including those
from Creative. Some newer soundcard may not works well with it, so you
can throw your SoundPCILivePNP256 away!
It is fast, and sounds very cool. However, it does only works under
DOS and Windows 95/98/ME due to technical reasons.
This emulator was written by Hiromitsu Shioya, specifically for MEKA.
If for some tragic reasons you have to use Windows NT or Windows 2000, you
may want to get such program in order to enable sound in MEKA for DOS:
https://sourceforge.net/projects/vdmsound/
Sound should work natively with MEKAW throught DirectX.
Peripherals
-----------
MEKA supports/emulates the following peripherals:
- Light Phasers:
[Master System]
Control with mouse. First mouse button (by default) is the trigger.
Although you can use two Light Phasers on the same time (for Gangster
Town), it is not very practical with a single mouse.
- Sport Pads:
[Mark 3 / Master System]
This heavy trackball is supported by a few sports games.
Control with mouse. First and second buttons has the usual behavior.
Same comments as above, as for using two Sport Pads on the same time.
- Keyboard:
[Sega Computer 3000]
Used in all Sega Computer 3000 specific programs such as the BASIC.
Control with your PC keyboard. See key assignements somewhere below.
- 3-D Glasses:
[Mark 3 / Master System]
MEKA let you play 3-D games with three differents methods. The first
method, entirely software, is that MEKA can show up on the screen only
graphics of one eye, thus you can play but with a reduced framerate.
Interface
---------
A feature that most emulators lack is a graphical user interface (GUI).
MEKA has one, which does not require particulars skill to use. Just use your
mouse to point and click. Experienced users that are sick of using mice are
also able to use keyboard shortcuts to activate certain functions. However
to give you some fun, they aren't all working or even documented, due to me
being a lazy bastard.
The graphical user interface is a bit slow, and a fast machine (Pentium) is
recommended to use it in optimal conditions (without having to skip frames).
Of course, it doesn't affect the emulation speed while in fullscreen mode.
Other things
------------
A lot of work has been done on certain other things that most people won't
notice (specifically because they have been worked on), including, but not
limited to:
- Compressed file support: you can keep your roms compressed in the ZIP
file format to save space, MEKA does know how to handle them.
- Patching system: this allows you to hack ROMs without having to modify
the original file. Check the file called "MEKA.PAT" if you are curious.
- Smart Configuration File technology: MEKA will never bother you because
of a corrupted configuration file, or some bad options in it. The file
itself is rewritten and recommented everytime you quit the program.
- Definable video modes with some nice fullscreen effects available such
as TV scanline simulation or Eagle graphic destroyer. Eagle is actually
very nice with a few games, R-Type coming to mind.
- Save states. You can load and save ingame, using F5 and F7 keys, with
up to a hundred slots for storing a game state (change with 0-9, F6, F8).
In addition, it is possible to load old Massage states by renaming them
to the MEKA naming convention. MEKA will automatically convert them.
- BIOS inclusion. You can play the snail game in MEKA, provided you know
how to access to it (alright, if you forgot, try pressing UP+1+2).
Originally, MEKA was supposed to use my own reprogrammed BIOS. Then I
found that someone already dumped them so I stopped working on mine and
included the original one instead. MEKA even includes the Japanese BIOS,
which you can check by setting the machine to Japanese and booting it
without any game loaded. It shows a little demo with a scrolling ground
and plays the Space Harrier music theme using the FM Chipset.
- A very precise compatibility list. MEKA was heavily tested, unlike some
other emulators that you doubt they were even ran by their author before
being released. Also thanks goes to Mxs, Jossa and Tincho DJ for their
past help with the Game Gear and Coleco Vision lists.
- Logging of sound output to WAV and VGM formats. VGM (for Video Game
Music) is a logging format developed on S8-Dev. You can check out
http://www.smspower.org/music for more informations, and an archive.
- A Graphical User Interface: I hope you did notice there was one.
- Easter eggs / secret features: edit everything, click everywhere,
try all keys combinaisons.. and you may get lucky several times.
Or unlucky playing Mario.
----------------------------------------------------------------------------
Level 3 : "Does it work ?"
----------------------------------------------------------------------------
----------------------------------------------------------------------------
Level 4 : "I just checked it.. Heh ! where did you got all these roms ?!"
----------------------------------------------------------------------------
Please take the time to search on the internet if you want something,
before asking to every single person on the planet. :)
----------------------------------------------------------------------------
Level 5 : Usability
----------------------------------------------------------------------------
You can run MEKA from the command line. Simply type "MEKA" (or "MEKAW",
depending on the version you are using) followed by the filename of the
ROM you want to run. You can also pass the "/?" parameter to the program
to get in return a crap command line help, describing the usual hidden
features, of course.
Game Gear
---------
Start ...................... Space
Hard Reset ................. Backspace
Other keys are mapped at the same place as the Sega Keyboard (SK-1100).
So be sure to look at the provided picture carefully. For example:
The "Pi" key, also used to type the "Ro" character in Japanese, has
unfortunately no equivalent on today's PC keyboard in many country.
Because of this, you can also either use the backslash key on the
bottom left of your keyboard, OR the slash key on the keypad, to
replace the missing "Pi" key.
Coleco Vision
-------------
Numeric Pad ................ Keys 0 to 9, Minus and Equal
Miscellaneous keys
------------------
Switch to next fullscreen blitter ........................ F1
Switch between automatic and standard frameskipping ...... F2
Decrease speed (automatic) or frameskip (standard) ....... F3
Increase speed (automatic) or frameskip (standard) ....... F4
Notes
-----
To use a mouse (for the graphical user interface, and Light Phaser / Paddle
emulation), be sure to have an appropriate driver loaded in DOS mode. Some
drivers or system are known to cause problems. This another driver in this
case, such as "Cute Mouse Driver", and be sure to report if you are having
such problem.
And if you have a SideWinder or any Joypad with analog input to donate
to me, that would be a nice gift (that should be better than my keyboard).
I am interested in implementing analog support for certain peripherals.
To load a specified program, use LOAD "program name" where the program
name is usually ending with the .BAS extension. You can move your cursor
to the line the FILES listing gave you, add the LOAD command and press
enter, that'll do it. Afterward, the RUN command will start the program.
The cassette drive (CLOAD command on Disk Basic, and LOAD on original)
is not yet emulated and thus you will not be able to use it now :-(
I am always looking for tapes if you have some you can send them, they
might prove being useful in the future.
----------------------------------------------------------------------------
Level 6 : "It is slooooooooow !!"
----------------------------------------------------------------------------
One of the reasons for that is that it emulates the system properly.
MEKA provides a real line-per-line graphic engine, dynamic palette
emulation, and many of those nice technical words that make the emulator
compatible with practically everything. Some of these features are missing
in other emulators or sometimes disabled, making them faster. Thus, if you
have a slow system, I suggest choosing another emulator.
The last thing you can do is to configure MEKA to use right video modes.
For DOS, it would be VESA modes, for Windows, DirectX modes are likely to
be the best. Edit MEKA.CFG, MEKAW.CFG and/or MEKA.BLT and configure the
video driver entries.
----------------------------------------------------------------------------
Level 7 : "Man, I still like MEKA !" - How to register
----------------------------------------------------------------------------
Thanks. In this case, if you want to help further development and support
the author, you are welcome to register MEKA.
To do so, you will simply have to help the SMS Power cause. This can be
done by several ways. The first is to donate Sega 8-bit cartridges to us.
We would love that. Donating hardware is even more welcome. If you plan
to donate anything, be sure to e-mail me beforehand. And remember it is
not because a game or a system is common that I have it. I am actually
missing a billion of common game I would love to get.
If you cannot find any cartridges then you can send money. Money helps
SMS Power in buying cartridges to dump and/or for the museum, as well as
getting weird pieces of related hardware. Due to me trusting the cool
people who are happy to help a great cause, there is no more minimal
amount to send to get registered. So basically even if you send 1$ you
will get registered. Of course the more the better. I honnestly tend to
get depressed when someone send 1$ for a four-years work.
If you don't have an idea on how much you must send, then you are not on
the right track. What matter is that you are helping a cause, and for that
reason the more is always the better. Don't stop feeding your children or
plan to sell your house to donate the money to our cause, though. Just
think about how much *you* would pay for that software if it was commercial.
Where:
P is the price a nice guy would pay.
S is the speed of your CPU.
M is the amount of memory in your video card.
k is defined as 3 * Pi for year 2002, and will increase with time.
(approximately 9.42)
Of course if you end with something like 19.50 or 22.25 don't bother
sending coins, you can round it up. And of course you can still round
it up without any specific reason, it you feel it is too much or too
low to pay. In fact, you are the one who decide.
Please do not send checks, since they are expensive to cash (for me).
Please do not send money orders, since they are expensive to send (for you).
In both cases, it is not worth wasting a lot of money on a small donation.
Cash in your country currency is usually a good thing.
Please e-mail be beforehand if you are unsure about anything.
Please note this is my new address. I moved house on the 1st of July, 2001.
And I can also receive money with PayPal (very practical), under the
following address: cornut @ noos.fr.
Finally, if your main pretext for not registering is lazyness, then you
know yourself it is not a valid pretext :)
If you do not agree these terms, then you can delete this software now, as
it will destroy your computer after a certain amount of time using a non
registered version. Also, if you have dogs living in your house, MEKA will
autodetect them and kill them by sending ultra sonic waves through the PC
speakers. Just don't say I made it for the money, please.
Registered users will receive information and new version before others.
They will also get access to roms on SMS Power, other things I may
show off, and more importantly: a clean conscience.
Enjoy!
----------------------------------------------------------------------------
Level 8 : Reasons to use MEKA instead of those other emulators
----------------------------------------------------------------------------
I first made MEKA for my own use, to play my own cartridges on my own
computer. So competing with any other emulator is not my primary goal.
----------------------------------------------------------------------------
Level 9 : I am a freak, tell me everything !
----------------------------------------------------------------------------
MEKA was made the open way, in the sense that many of its features
are user accessible to let everyone do modifications. Here is a quick
description of the ressource files that comes with MEKA:
--MEKA.CFG-- or --MEKAW.CFG--
This is the configuration file where MEKA stores most of the options
and user definable parameters. Some are accessible from the interface,
but some, more complex ones, are only available by manually editing this
file. It should be self explanatory, but here are some comments:
Sound rate usual values are 11025, 22050 and 44100, the highest being the
best quality but also the slowest.
Screenshots and musics dump filename templates are configurable for those
who have websites and likely would like to avoid renaming a hundred of file,
or generally if you want to share the produced files. Templates use LibC's
PrintF formatting rules, which am I going to explain quickly, and for use
in that context. PrintF gurus will pardon me.
screenshots_filename_template =
%s-%02d.pcx
Does not limit game name, pad capture number to 2 characters.
Save file with PCX format and extension.
Playing "Psycho Fox.SMS" will get you capture filenames such as
"Psycho Fox-01.pcx" or "Psycho Fox-42.pcx".
%s*(%d).pcx
Does not limit game name, and let capture number as it is.
Save file with PCX format and extension.
Playing "Psycho Fox.SMS" will get you capture filenames such as
"Psycho Fox (1).pcx" or "Psycho Fox (42).pcx".
Available file format for screenshots are PCX, BMP and TGA.
Incorrect use of this feature can leads MEKA to crash in a horrible and
painful way. You were warned.
--MEKA.BLT--
This file contains the configuration for fullscreen video modes.
It is self documented. I strongly suggest giving it a look to enable
VESA video modes on your system and so get a speed boost. Maxim's
Meka Configurator allows you to edit this file easyly.
--MEKA.INP--
This file contains inputs configuration. It is automatically rewritten by
MEKA when quitting, and most of the functionnaly are available from the
interface. However experienced users may want to tweak with it and try some
of the possibilities it offers.
--MEKA.MSG--
This file contains text messages used in MEKA and allows you to create
translation in new languages or dialect using latin letters (ABC..).
--MEKA.NAM--
This file contains the name, product numbers and comments database that
are used by MEKA. If you are curious you can edit it. And if ever you have
comments to add about any games in it, send them to me for future inclusion
in the distribution version.
--MEKA.PAT--
This file allows you to tells MEKA to apply simple patches on ROM when
loading them, on the fly. Nothing extraordinary but programmers and hackers
will find such feature useful maybe. The file is self documented, in case
you were looking for help.
--MEKA.THM--
This file contains themes available from the user interface. If the current
GUI colors are boring you, this is the place to check. The file is self
documented also. To make thing easier you may want to use an external tool
called "Wonder Theme" which is a graphical theme editor, by Lilac. It is
available from MEKA homepage. You can also get pictures for uses with some
of the default themes at http://www.smspower.org/meka/themes.
--MEKA.DAT--
This file contains data used by the emulator and its interface. Editing
it will shows you a bunch of garbage so it is not a really good idea.
----------------------------------------------------------------------------
Level 10 : Cool things to do when playing games is not enough
----------------------------------------------------------------------------
Connect to an Efnet IRC server and join #meka to meet happy and strange
people. Be sure to kick Aprentice from there as much as you can.
If you are a musician, use your skills to make us some great remixes of
Sega Master System musics.
If you are unsure about other games to play on the Master System assuming
you are not familiar with it, I can suggest you:
Alex Kidd in Miracle World
Cyborg Hunter (Borgman)
Double Dragon
Fantasy Zone 2
Golden Axe Warrior
Kung Fu Kid (Makai Retsuden)
Phantasy Star
Power Strike (Aleste)
Power Strike 2
Psycho Fox
R-Type
Wonderboy in Monster Land (Monsterworld)
Wonderboy 3: the Dragon's Trap (Monsterworld 2)
Zillion
And I could name a hundred of other ^_^
A full list of all existing Master System games is available there:
http://www.smspower.org/museum/lists/
Enjoy!
----------------------------------------------------------------------------
Level 11 : MEKA was made using..
----------------------------------------------------------------------------
DJGPP (GNU C Compilator) by a bunch of people.
Allegro (video and inputs library) by Shawn Hargreaves and contributors.
Seal (sound library) by Carlos Hassan.
UPX (reduce the executable size) by Markus Oberhumer and Laszlo Molnar.
All the above great programs are free and are great replacements to
the expensive Microsoft offers (Visual C, Direct Draw, Direct Sound).
MS-Dos and Windows to handle these softwares.
My poor working computer to handle these operating systems.
Myself to take care of the computer.
My dear love to take care of me.
----------------------------------------------------------------------------
Level 12 : Last Boss
----------------------------------------------------------------------------
To defeat the Vampire Dragon, stay at the bottom middle of the screen
and wait for him to come level with you. When he comes close, jump and
hit his cape. When he goes down, below the screen, fly up so he won't
come up and hit you! Repeat this procedure until he is destroyed. You
will get the SALAMANDER CROSS and be able to change into Hu-Man.
----------------------------------------------------------------------------
Level 13 : End Credits
----------------------------------------------------------------------------
Mitsutaka Okazaki:
he wrote a software YM-2413 emulator that he available in MEKA.
http://www.angel.ne.jp/~okazaki/ym2413/
Phillip Smith:
for being a cool guy, having shared a lot of things together and being
one of the brain behind SMS Power :)
Mike Gordon:
another nice guy who like toying with hardware stuff. He also brought
some very interesting things to the growing Sega 8-bit emulation scene.
and generally has been very helpful to me.
James McKay:
for Massage, and because when you ask him a simple technical question,
he answers in ten pages. He tooks the time to kindly answer all the crap
questions I asked when I was starting. And he is very nice guy.
http://www.enterspace.org/world/massage.htm
Marc Le Douarain:
for help with SF-7000 emulation and dumps of his old disks.
Ulrich Cordes:
for providing the base source code of the FDC-765 (floppy disk controller),
as used for SF-7000 emulation. It was actually rewritten but the original
technical work is from him.
Marat Fayzullin:
for Master Gear, for being the one all users and authors should respect,
for having released the sources of most of his emulators and CPU cores,
and contined, despite people who early profited from his work without
respecting some elementary rules. Also because he wrote a technical
document about the Master System. Now if you are the kind of person who
hate him for no other reasons that the Windows ports of his emulators are
not free, remember he is one of the father of console emulation, and that
without him, many emulators wouldn't exist.
http://fms.komkon.org
Ricardo Bittencourt:
for BrSMS and BrMSX (great emulators).
http://www.lsi.usp.br/~ricardo/brsms.htm
Sean Young:
for writing great technical documentation about the TMS9918a and Z80.
http://www.msxnet.org
Andrew Lindsay:
for having dumped tons of roms, and for SMSCheck. If you don't know him
and his site, then I'm afraid you missed the golden age of emulation.
http://members.aol.com/smsstuff (do not even try, it was closed in 1997)
Eric Quinn:
for being there a long time ago already, dumping a few roms, and managing
an excellent SMS site (The Sega Notebook). Eric is also an active member
of the S8-Dev community, author of a development-oriented emulator (MesaDX),
and produced some interesting SMS code such as the PFR test.
http://shell0.elnet.com/~gm-quinn/sms/
Charles Doty:
this guy contributed a lot to the console development scene. He also wrote
an old text demo for Game Gear, which is from where I started learning Z80.
http://www.pcisys.net/~cdoty/console
Dirk Stevens:
for having released the sources of his Eagle graphic filter, supported
in MEKA if you enable the corresponding blitter.
Mxs:
for having done the old GG compatibility list and some smart beta testing.
Christopher Coleman
he is such a coolman - even if for some reasons he dared saying
Castelo R� Tim Bum graphics were nice.
Sam Pettus:
for your Sega 8-bit Compatibility Chart, others amazing documents,
and being the most strangest, paranoid and serious guy I ever met on
the internet. Take it easy :)
Chris White:
4 ur great hlp , support& terreeble whay of typinng mails ;-)
Yogi Bear power !
Larry M (Ellum):
for the Wonder Boy 3 music he made. This game definitively rocks !
http://sega-zone.com/sega_haven
An unknown guy:
for the rendered Master System picture used on the interface.
no one knows who you are but you are getting famous. I love you.
Puyolin:
for the "Ocean" and "Emucamp" color themes (used in the interface), and
for correcting(corrected) mistake/s? in/on? (the?) first documentation/s?
~~~ ~~~~ xx ~~~
Westone (including Shinichi Sakamoto and Ryuichi Nishizawa):
for making Wonderboy 3, the best game ever.. ten years ago :~)
http://www.westone.co.jp
*All people* who bothered registering MEKA and supporting SMS Power.
You know who you are and your support is greatly and always appreciated.
Everyday MEKA lives, it is thanks to you.
And of course thanks to SEGA, for such a cool system and great games !
----------------------------------------------------------------------------
� � � � � � �
Goodnight Brave Warrior, � � � �
Goodnight Monster-land. � � � � �
� � � � � � �
� __________ � � � �
� / \ � � � � �
|____________| � � � �
� | ___ | � � � �
� | | | | � � � � �
� | | | | � � � �
----------------------------------------------------------------------------