xboxscene.org forums

Pages: 1 2 [3]

Author Topic: Questions & Discussion Of Mame Compile Notes & Tutorials  (Read 593 times)

ressurectionx

  • Archived User
  • Hero Member
  • *
  • Posts: 2778
Questions & Discussion Of Mame Compile Notes & Tutorials
« Reply #30 on: April 14, 2008, 03:40:00 AM »

QUOTE(ekszbox @ Apr 10 2008, 05:45 PM) View Post

In that case you could try flipping the flipped screen in the mameox directx rendering src, so it's upright, i.e.

CODE

if (Machine->orientation != ROT0)
{
  if (Machine->orientation == ROT90){
  // Rotate 90 degrees anticlockwise
  }
  else if (Machine->orientation == ROT180){
  // Rotate 180 degrees
  }
  else if (Machine->orientation == ROT270){
  // Rotate 90 degrees clockwise
  }
}


If you look at the rendering code you will see the parts that deal with flipping, just recycle them into your own re-flipping function.



I've done searches for that code in all three projects and I don't get any hits.  I see the stuff in driver.h, but I'm wondering which file this is found inside the mameox source.
Logged

ressurectionx

  • Archived User
  • Hero Member
  • *
  • Posts: 2778
Questions & Discussion Of Mame Compile Notes & Tutorials
« Reply #31 on: April 14, 2008, 04:41:00 AM »

QUOTE
GAME(1982, bagman,    0,      bagman, bagman,  0, ROT270, "Valadon Automation", "Bagman" )

TO:
QUOTE
GAME(1982, bagman,    0,      bagman, bagman,  0, ROT90, "Valadon Automation", "Bagman" )


Still haven't figured out why the changes I've made have had no effect on Pyros, 005 and Berzerk yet and why the second player still flips, but I'm starting to get that there is no universal switch like I thought.  With so many people creating drivers, they didn't exactly have a standard they went by.  Knowing that, I'm 99% sure that if I were to just go into generic.h and change the following code, I'd really be hosing up a ton of stuff and be cleaning that up for the next year.

QUOTE

/* monitor parameters to be used with the GAME() macro */
#define   ROT0   0
#define   ROT90   (ORIENTATION_SWAP_XY|ORIENTATION_FLIP_X)   /* rotate clockwise 90 degrees */
#define   ROT180   (ORIENTATION_FLIP_X|ORIENTATION_FLIP_Y)      /* rotate 180 degrees */
#define   ROT270   (ORIENTATION_SWAP_XY|ORIENTATION_FLIP_Y)   /* rotate counter-clockwise 90 degrees */

TO:
QUOTE

/* monitor parameters to be used with the GAME() macro */
#define   ROT0   0
#define   ROT90   0   /* rotate clockwise 90 degrees */
#define   ROT180   0      /* rotate 180 degrees */
#define   ROT270   0   /* rotate counter-clockwise 90 degrees */


(Probably not a good idea...)


Logged

ressurectionx

  • Archived User
  • Hero Member
  • *
  • Posts: 2778
Questions & Discussion Of Mame Compile Notes & Tutorials
« Reply #32 on: April 15, 2008, 11:04:00 PM »

UPDATES:  

I figured out how to control the rom sort method in the GUI. There are 5 "sort by" categories now: Name, Year, Genre, # of Players, and Manufacturer.  The Manufacturer looks nice now because I've cleaned all the Manufacturer names up to match (ex:  Atari and Atari Games are now all labeled as just Atari).

I might want a 6th sort by category, but at this point I haven't figured out what is limiting the selection to only 5 choices.  Either way, only these 5 are much better than having "Parent Rom" and "Rom Status", as they are completely useless when you have a self edited romset.
--------

I've done preliminary cleaning on all letters of the alphabet except for R, S and T (the biggest by far).  So far there has been a 7MB reduction in the final .xbe size because of this and I have experienced no negative effects on included games.  

I am keeping all code for parent roms in the emulator.  If the US roms happens to be a clone, that is being left in the emulator as well.  All US roms are titled without any brackets.  If the clone was (Europe) or (World) or (Japan) then that is thrown in parrenthises at the end of the title.  This way, you can use the parent rom if you like it better than the US rom.

All unreadable foreign roms, mahjong, and most quiz games have been removed.  (Trivial Persuit games are included and fixed so "Green" is A and "Red" is X so it's easy to play).  Some clones that seem to offer something different are also left in the code.  I have left a lot of the games I have marked as not working because I plan on working on them once more before deciding that they are no good.

I will probably be able to remove another 3 to 5MB from the final build.  Build times are quicker as well as dumping MAME and scanning for roms.  No notable improvement in games so far, but there is more free memory stated when loading a game that needs VMM when the VMM is turned off.  Maybe it will get some of the VMM games to run a little better?  We'll see...

Logged

ressurectionx

  • Archived User
  • Hero Member
  • *
  • Posts: 2778
Questions & Discussion Of Mame Compile Notes & Tutorials
« Reply #33 on: April 17, 2008, 12:42:00 AM »

QUOTE
Next thing I will try using precompiled headers on the xbox projects, as this will further improve build time.  If you want the code for this build, give me a shout.


I'd like to know more about these precomiled headers and any progress you've seen with them.

3)  You said:  
QUOTE
Splitting the drivers into let's say 20 DLL's would make a big difference, by the look of things it's not a trivial job, but I think it's possible.


I have a vague understanding of what a dll is, but you seem to know much more about these things than I do.  If you were going to udnertake the task of trying to create these DLLs, what would be your plan of attack?  If you believe there could be signifigant benifits, I might be willing to undertake this project.

Later,
~Rx
Logged

ressurectionx

  • Archived User
  • Hero Member
  • *
  • Posts: 2778
Questions & Discussion Of Mame Compile Notes & Tutorials
« Reply #34 on: April 25, 2008, 08:53:00 PM »

QUOTE
AM_RANGE(0x5003, 0x5003) AM_MIRROR(0xaf38) AM_WRITE(pacman_flipscreen_w)


This code is a little different because I had to pull it from the new build on mamedev.org since I'm not at home now, but you get the idea.

This worked perfect for Mad Alien, but the weirdest thing happens on Mr Do, Pac-Man and all of the other games on those drivers.  It keeps the background from flipping, such as the maze in Pac-Man, but all of the sprites are upside down as if cocktail mode was working like normal for them.  It's the strangest thing to see the ghosts upside down in the maze and when Pac-Man goes down on the left side of the screen the dots are disappearing upwards on the right side of the screen.  Same with Mr Do and all of the other games.

For the life of me I just can't figure out where the writemem code controlling the sprites is.  If I could figure that out, then I would make cocktail mode default for each 2 player alternating game so this is all automatic.  I'm open to any ides you've got.

I'll keep plugging away at it.  Thanks for your help and I'm really looking forward to get a hold of your minimized source so I can get testing done a lot quicker.  

Thanks again,
~Rx

Logged

ressurectionx

  • Archived User
  • Hero Member
  • *
  • Posts: 2778
Questions & Discussion Of Mame Compile Notes & Tutorials
« Reply #35 on: May 01, 2008, 08:38:00 PM »

Hey ekszbox,

I have some personal issues myself that are going to keep me away from this for a while.  Thanks for uploading the source.  I will get it as soon as I get a chance.  I'm really looking forward to see your video and music support.  That sounds real cool.

I hope you get better.  Take care of yourself man.

~Rx
Logged
Pages: 1 2 [3]