xboxscene.org forums

Pages: [1] 2 3 ... 5

Author Topic: Mekax V1  (Read 933 times)

XPort

  • Archived User
  • Hero Member
  • *
  • Posts: 941
Mekax V1
« on: March 08, 2006, 09:27:00 AM »

MekaX - Sega Master System/Game Gear/SG-1000/SC-3000/SF-7000/MK3 Emulator for XBox v1

http://www.smspower.org/meka/
http://xport.xbox-scene.com

Thanks to J-Red for a nifty skin!


Features :

 - Emulates Sega Master System/Game Gear/SG-1000/SC-3000/SF-7000/MK3

 - Excellent compatibility - ported from Meka

 - ZIP support

 - Loads of hardware/software filters and video options to tweak

 - Cheat system - Search/Create your own cheat codes (see notes)
 
 - Favorites list

 - Save states

 - Light gun support (see notes)

 - Fast forward/throttle

 - Resizable game screen

 - Text file viewer

 - ISO9660, Relax, Samba support

 - Take in-game screenshots and display them on the game selection list

 - Record/Playback feature - record your gameplay in the emu and then
   play it back again.  Record up to 10 minutes of gameplay.

 - Every single in-game command is fully customizable on any of the
   four joypad controllers.

 - Map any emulator or UI command to a single button or a combination of
   two buttons.  (e.g. RTrigger+LTrigger = Save State)

 - Autofire capabilities for any emulator button on any controller

 - One-button combos (define a series of emulator commands to be played
   back when you press a user-definable XBox controller combination.)
   (E.g. Press RTrigger+LTrigger to execute the command string
   A,B,A,B,Up,Down,Left,Right)

 - Traverse any directory on any drive ( Continue selecting the parent
   directory entry on the file selection list to get the drive selection
   list.  Selectable drives are C, D, E, F, R, X, Y, Z, RLX, and SMB.
   R is the CDROM drive.  SMB is your samba share, RLX is your relax share.
   Press Y from any file-listing screen to go up one directory level.

 - All UI commands (save state, load state, screenshot, etc) can be
   invoked from the Options/Pause menu as well as in-game via your
   customized joypad mappings.

 - All the other standard features found in XPort ports.


Default ROM dir is D:\SMSROMS

===============
Important Notes
===============

-----------------
Light Gun Support
-----------------

My light gun no longer works for some mysterious reason, so I haven't
tested the light gun functionality.  It *should* work, though.  

To use the lightgun, first go to Main Menu -> Configuration ->
Controller Configuration -> Configure Light Gun

From that menu, calibrate the light gun.  You can also choose to have an
on-screen target to help you while playing lightgun games.

When you select a game to play, you are given the configuration options.
(You can also press X to select a game to force re-configuration.)
Be sure to change either Controller 1 or Controller 2 from Joypad to
Lightgun/Phaser or else you will have no ability to use lightguns in the
game you've selected.



=============
Configuration
=============

Everything can be changed from the configuration menu.  

If you have never used one of my ports before, I highly suggest you go
through all of the various configuration screens (particularly
"General Settings") to see what you can do.

Even if you are already familiar with the standard XPort interface,
I suggest you at least take another look at "General Settings" because
there may be options you have not seen before.


===============
Menu Navigation
===============

Select menu options with the DPAD or with R/LTrigger.  The speed of
R/LTrigger movements can be controlled by :

Configuration -> General Settings -> Page 2 -> Menu Scroll Speed

There are some places where you can enter or change values.  This
can usually be done in a variety of ways include DPAD Left/Right,
R/L Trigger, and L/R Thumb.  Try all of them if the values are changing
too slowly.

"A" selects the highlighted choice.  "B" cancels/returns.
"Y" from a file-select list will go up one directory.
"X" to select a game brings up the game configuration screen
"WHITE" to select a game adds it to your favorites.
"BLACK" to select a game (on your favorites list) deletes it from the list.

================
Text File Viewer
================

DPAD Up     - Up one line
DPAD Down   - Down one line
DPad Left   - Up one page
DPAD Right  - Down one page
R Trigger   - Scroll down
L Trigger   - Scroll up
A           - Start search
X           - Continue last search
White       - Top of file
Black       - End of file
Y           - Simulate fixed-width font
Back        - Decrease width of simulated fixed-width font
Start       - Increase width of simulated fixed-width font
B           - Exit


=====
SKINS
=====


Instructions for making a new skin:

 - Create a new directory off of your SKINS directory (default skins directory
   is D:\EMUSKINS
 - Place your sound/font/graphic media files in this new directory
 - Load MekaX
 - "Select Skin" from the main menu and select your new directory.
 - Select Configuration
 - select Configure Skin
 - Use the menus to select your new media files and change your settings
 - When you are satisfied with what you have, go back to the main menu.
 - Select "Configuration"
 - Select "Overwrite D:\*.ini and D:\emuskins\\<skin>\\settings.ini"
   This will write the skin settings in your skin directory (if your skin
   directory is on the hard drive.)
 - You're done!  You can package up the directory and share it with your friends.


If you wish to use sprites in your new skin, then read the following:

 - Create a subdirectory off of your new skin directory called SPRITES
   e.g. D:\EMUSKINS\NEWSKIN\SPRITES
 - In this new SPRITES directory create a 0-based numeric directory for
   each sprite you wish to make.  This means that if you have 4 sprites
   you wish to load, the directory names *must* be called 0, 1, 2, and 3.

   Do not call them 1, 2, 3, and 4.  
   Do not call them 0, 3, 5, 6.  
   Do not call them SPRITE1, SPRITE2, SPRITE3, SPRITE4.  

 - Inside each of these new directories, you must place the sprite frames.
   Each frame is represented by a BMP, PNG, or JPG file.  The order of the
   frames is given by the filenames.  These filenames must also be named
   with 0-based numbers.  For example, 0.png, 1.png, 2.png.  Look at the
   sprites directory of the included default skin to see how it works.

 - Do not skip numbers when naming sprite directories or sprite frame
   filenames.  A list of directories called 0,1,2,5,7 is *INVALID*.
   Similarly, a list of files called 0.png, 1.png, 4.png, 5.png is also
   *INVALID*.

Also be aware of memory constraints.  Let's say you have a frame of a sprite
called 0.png.  This picture file is 90 pixels wide and 130 pixels high.
This will get rounded up to a 256x256 pixel 32bit picture.  This means
that it will consume 256x256x4 bytes (256KB) of memory.  If your sprite has
10 frames of animation, that's around 2.5MB of memory.  Keep this in mind
before you make ultra-smooth moving sprites with hundreds of frames of
animation.

You can check your available memory by going to Configuration -> Configure Skin
-> Show Available Memory



====================
Controller Remapping
====================

Configuration -> Configure Controllers

There are 32 general/all-purpose emulator "buttons" or actions.  Each of these
buttons can be assigned a specific emulator action.  For example, Emu Button 1
can be A, or B, or DPad Down, etc.  These "emu buttons" can then be assigned
XBox triggers.  For example, Emu Button 1 (which you have mapped to, for
example, A) can be triggered by  XBox controller button B.  The default button
mappings should provide enough information on how the system works and
how it can be used.  

==========
Autofiring
==========

Configuration -> Configure Controllers -> Controller # -> Change Autofire

Each "Emu Button" can be set up for autofiring.  Simply set the autofire
variable to a non-zero value.  This value indicates how long the emulator
should wait before releasing and re-pressing the button.  A value of 1
might be too fast to register on some games.  I suggest setting it to a
number like 5 first and then fine-tuning it.


======
Combos
======

Setting up a combo can be kind of tricky because you need to know exactly
what the game expects to have happen on the joypads to execute the special
move.  For example, let's say that we want to map a standard move that is
described like this :

D, DR, R, A

D = Down, DR = Down+Right, R = Right, A = A button

First, set the delay to a number like 2 or 3.  Then set up the moves.  In
this case, any (or none) of the following might work:

Down
Down+Right
Right
Right+A
Right

OR

Down
Down+Right
Right+A

OR

Down
Down+Right
Right
Right+A
Right+A
Right+A


You will probably need to fine-tune each combo move before it works, but
you'll soon get the hang of it.



==================================================
Cheating System - How To Make Your Own Cheat Codes
==================================================

Just about every single port I've released has this feature, and I
occasionally hear people asking "how does it work?" This is easiest to
explain by example:

 1) Start playing a game.

 2) Go to Options Menu and select "Start Search for Cheat Code"

 3) Go back to game and lose a life

 4) Go to Options Menu and select "Continue Search For Cheat Code"

 5) Select "Search For Values Less Than Before" because when you
    first selected "Start Search For Cheat Codes" you had one more
    life than you do now.  You will see the number of matches go down.

 6) If the number of matches is greater than 10, then perform actions
    3, 4 and 5 continually until the number of matches is less than 10.
    If you run out of lives, then just start playing the game again.
    (Do not exit the emulator and select the game again - just start another
    game from within the emulator.)  Now you will have a full stock of lives,
    which is *more* than the last time you checked your values.  So when you
    continue searching, you'll want to select "Search For Values Greater Than
    Before."  Then go through steps 3-5 over and over until you have less than
    10 matches.

 7) Now that you have less than 10 matches, you can add the codes to your
    list.  If the search narrowed the list down to 1 possible match, it
    will automatically add it to your list.  Now you can "List Cheat Codes"
    and selectively turn on/off the cheat codes to try them out and see
    which on is the right one.

Alternately, you can use the "Search For An Exact Value" option if you
already know the number you wish to change.  Example:

Let's say you are playing Dragon Warrior and your character currently has
25 Hit Points.  Follow these instructions:

 1) Go to Options Menu and select "Start Search for Cheat Code"

 2) Select "Continue Search For Cheat Code"

 3) Select "Search For an Exact Value" and enter 25 as the number.
    The number of matches should decrease very quickly.  

 4) Go back to the game and do something to change your Hit Points amount.
    For example, let's say you drink a potion and your Hit Points are now 35.

 5) Go to options menu and select "Continue Search For Cheat Code"

 6) Select "Search For an Exact Value" and enter 35 as the number.
    Chances are very good that the number of matches will be down to
    one or two.  Just try out the codes to see which one gives you infinite
    Hit Points!

Advanced Cheat Code Usage:

Cheat codes have the following format:

TT AAAAAA VVVV

TT     = Type
AAAAAA = Address
VVVV   = Value

You can hand-edit the cheat codes you've created.  Go to the Cheat Code list,
select a code, and select Edit.  Let's say you've already created a cheat code
that keeps your hit points at 25.  The last four hex digits of your code will be
0019 (which is hexidecimal for 25.)  You can change the last two digits to, for
example, FF which will give you 255 hit points instead of 25.  More sophisticated
codes can be made by altering the Type:

Type Table

80 - Means set the 16-bit value (0-65535) pointed to by the cheat code address
     to the cheat code value.

30 - Means set the 8-bit value (0-255) pointed to by the cheat code address
     to the cheat code value.

10 - Means increase the 16-bit value pointed to by the cheat code address
     by the cheat code value.

11 - Means decrease the 16-bit value pointed to by the cheat code address
     by the cheat code value.

20 - Means increase the 8-bit value pointed to by the cheat code address
     by the cheat code value.

21 - Means decrease the 8-bit value pointed to by the cheat code address
     by the cheat code value.

D0 - Means only execute the next code in the list if the 16-bit value pointed
     to by the cheat code address is equal to the cheat code value

D1 - Means only execute the next code in the list if the 16-bit value pointed
     to by the cheat code address is not equal to the cheat code value

D2 - Means only execute the next code in the list if the 16-bit value pointed
     to by the cheat code address is less than the cheat code value

D3 - Means only execute the next code in the list if the 16-bit value pointed
     to by the cheat code address is greater than the cheat code value

E0 - Means only execute the next code in the list if the 8-bit value pointed
     to by the cheat code address is equal to the cheat code value

E1 - Means only execute the next code in the list if the 8-bit value pointed
     to by the cheat code address is not equal to the cheat code value

E2 - Means only execute the next code in the list if the 8-bit value pointed
     to by the cheat code address is less than the cheat code value

E3 - Means only execute the next code in the list if the 8-bit value pointed
     to by the cheat code address is greater than the cheat code value

If you are familiar with cheat codes, you'll notice that these are standard
Gameshark types.  With enough experience you could make some seriously
interesting codes with this system.  

For example, I played around with Super Mario Bros (NES) and found out that
address 0007EE stores the number of coins and address 0007FA is the
one's digit in the timer.  Here are two codes:

E0 0007FA 03
20 0007EE 01

Those codes mean that while the ones timer digit is equal to three, increase the
number of coins by one.  You won't see the coins updated on the overhead
display in the game, but if you start a game, wait until the timer one's
digit is a three and then collect a coin, you'll see that your coin value
is actually much higher than one, now.  Fun useless stuff.  tongue.gif



==================================================
Command-Line/Auto-Launching and Return to Launcher
==================================================

This section is for the developers of frontends, dashboards, etc.

MekaX can be started with parameters to automatically launch a game
at startup.  Example code can be found in the custom_launch_params.cpp file.

There is also example code in that same file that will show you how to
make MekaX load your frontend/dashboard when it exits.




Stella, Gnuboy, SMSPlus, FCEUltra, HUGO, NeoPop, DGen, Bochs, HUGO-CD,
FMSXBox, Bliss, WinSTon, Gens, Z26X, StepmaniaX, PCSXBox, XBoyAdvance,
DOSXBox, AtariXLBox, MirrorMagicX, KoboX, MaelstromX, MarblesX, Vice64X,
Vice20X, VicePETX, KegsX, XPired, AdamX, WonderSwanX, BeatsOfRageX,
PowermangaX, LynxBox, BlueMSXBox, GladiatorX, AmphetamineX, StarfighterX,
PachiX, BlobWarsX, OdysseyX, ArnoldX, X68000X, WinUAEX, MekaX
what's next?

Enjoy!

Logged

rimsky82

  • Archived User
  • Newbie
  • *
  • Posts: 15
Mekax V1
« Reply #1 on: March 08, 2006, 10:03:00 AM »

Excellent work.  No matter how busy we think you are, you never seem to disappoint.  Thanks loads, xport, you're the man.
Logged

Manabyte

  • Archived User
  • Newbie
  • *
  • Posts: 48
Mekax V1
« Reply #2 on: March 08, 2006, 10:06:00 AM »

Awesome, a new port!  Just curious what makes this emulator different from SMSPlus.  I never, at least personally, had any compatibility problems with the Master System or Game Gear.  The only difference I really noticed was the GUI.
Logged

Manzzon

  • Archived User
  • Newbie
  • *
  • Posts: 31
Mekax V1
« Reply #3 on: March 08, 2006, 10:16:00 AM »

Thank you xport you make the xbox rock even more.  love.gif
Logged

XPort

  • Archived User
  • Hero Member
  • *
  • Posts: 941
Mekax V1
« Reply #4 on: March 08, 2006, 10:23:00 AM »

QUOTE(Manabyte @ Mar 8 2006, 12:13 PM) View Post

Awesome, a new port!  Just curious what makes this emulator different from SMSPlus.  I never, at least personally, had any compatibility problems with the Master System or Game Gear.  The only difference I really noticed was the GUI.


SMSPlus has problems with SC3000 and SG1000 games.  (And there are good ones out there - check out The Castle.)  Its sound emulation is also not as good as Meka.  I'm pretty sure there are other emulation issues with SMS/GG games also in SMSPlus.  Meka is just an overall better emulator.  I would have selected Meka first, but the source code was not available when I did SMSPlusX.
Logged

pepe2004

  • Archived User
  • Jr. Member
  • *
  • Posts: 84
Mekax V1
« Reply #5 on: March 08, 2006, 10:44:00 AM »

This guy doesn't sleep, hehehe. Thanks a lot Xport, you may have cured a forgotten childhood trauma about wanting a Master System and never getting one  sad.gif
Thanks   smile.gif

I have a question, on the gallery from the website, at the bottom, it comes screenshots for Nintendo, it is also emulated by the emu?

http://www.smspower.org/meka/gallery/

Sorry for the english.
Logged

Sirmatto

  • Archived User
  • Full Member
  • *
  • Posts: 134
Mekax V1
« Reply #6 on: March 08, 2006, 10:49:00 AM »

Always awesome to get better compatability.  Now the million dollar question:  what are the odds that it will work with the SMSPlusX save states by simply renaming the save game directory?
Logged

Diontae18

  • Archived User
  • Sr. Member
  • *
  • Posts: 386
Mekax V1
« Reply #7 on: March 08, 2006, 10:51:00 AM »

Thankies for a entirely new xbox emulator project. Btw, will you be updating your website in the near future? Just curious.
Logged

simpull7

  • Archived User
  • Newbie
  • *
  • Posts: 18
Mekax V1
« Reply #8 on: March 08, 2006, 11:06:00 AM »

Great work Xport! Thanks a lot for all your hard work.

So this does what NeoGenesis does plus emulates things? NICE!
Anyone have an opinion if it's worth the switch?
Logged

foxxfella

  • Archived User
  • Full Member
  • *
  • Posts: 106
Mekax V1
« Reply #9 on: March 08, 2006, 11:08:00 AM »

Nice work as always xport and sweet skin j-redd! Your just full of suprises! pop.gif  

Logged

Opoth

  • Archived User
  • Jr. Member
  • *
  • Posts: 52
Mekax V1
« Reply #10 on: March 08, 2006, 11:31:00 AM »

QUOTE(simpull7 @ Mar 8 2006, 07:13 PM) View Post


So this does what NeoGenesis does plus emulates things? NICE!
Anyone have an opinion if it's worth the switch?


Yes, it is worth switching from SMSPlusX to MekaX, if that's what you mean.  Neogenesis emulates Genesis, this emulates Master System and its offshoots.
Logged

XPort

  • Archived User
  • Hero Member
  • *
  • Posts: 941
Mekax V1
« Reply #11 on: March 08, 2006, 11:32:00 AM »

QUOTE(simpull7 @ Mar 8 2006, 01:13 PM) View Post

Great work Xport! Thanks a lot for all your hard work.

So this does what NeoGenesis does plus emulates things? NICE!
Anyone have an opinion if it's worth the switch?


The Sega Master System and the Sega Genesis are completely different systems.  Therefore, NeoGenesis and MekaX are completely different emulators.

I'm not planning on updating the website anytime soon.

Save states are probably not interchangeable, but I have not tried.

Logged

Opoth

  • Archived User
  • Jr. Member
  • *
  • Posts: 52
Mekax V1
« Reply #12 on: March 08, 2006, 11:36:00 AM »

Also, thanks for porting MekaX, XPort.  Master System/Game Gear were really the only systems other than TG16/PCE (and NES, depending on who you ask) that needed a good compatibility boost on the Xbox.  Not much can be done about Hugo,  but it's great to finally see this released.
Logged

Manabyte

  • Archived User
  • Newbie
  • *
  • Posts: 48
Mekax V1
« Reply #13 on: March 08, 2006, 11:54:00 AM »

QUOTE(Opoth @ Mar 8 2006, 06:43 PM) View Post

Also, thanks for porting MekaX, XPort.  Master System/Game Gear were really the only systems other than TG16/PCE (and NES, depending on who you ask) that needed a good compatibility boost on the Xbox.  Not much can be done about Hugo,  but it's great to finally see this released.


OK now hold on a second.  The Hugo sources have been updated quite a bit since Xport's last release.  The roms run fine, but the CD support is really shaky.  I know Xport ran some tests on the new core on his comp and came up with some negative results.  Now I'll admit, I haven't had the time to test many CDs on the computer version (my computer is so dated that it probably wouldn't help anyways).  I do have quite a few CD games though, and there are quite a few problems.  Most of the games won't load, some freeze, some give just a blank screen, some wont go past the title screen, lots of sound issues, or garbled graphics.  I can't imagine that the current core doesn't fix some of this.  Xport also mentioned something on his website awhile ago about another PC-E emu he was keeping an eye on.  I haven't looked at it or even know if it ever came to fruition, but a boost in CD support would be massive shot in the arm.  For me at least, this is the emu I want to see updated the most.
Logged

Diontae18

  • Archived User
  • Sr. Member
  • *
  • Posts: 386
Mekax V1
« Reply #14 on: March 08, 2006, 12:03:00 PM »

Hey, I also want to say thanks for that kick-ass cheat description analysis you've posted. Like over 5 months ago, I've figured that after doing a search, and ending up with results, you'll end up with 8 bit cheats (30). But after I changed the 30 to 80, if became a 16 bit code, thus eliminating the use of 2 codes.

Example

8 Bit Analysis:
30045EDD 00FF
30045EDF 00FF

16 Bit Analysis:
80045EDD FFFF

Eliminating the need for 2 codes. I've never understood how to create an all code though, like, All Weapons, items, etc... Now thanks to that analysis above, (Which was mentioned in FCEUltra's Readme.txt, But I've never understood it like I've said) It's easy as baking a cake.

 cool.gif

This post has been edited by Diontae18: Mar 8 2006, 08:03 PM
Logged
Pages: [1] 2 3 ... 5