Author Topic: Neo-Geo driver cleanup  (Read 30840 times)

Offline iq_132

  • Administrator
  • *****
  • Posts: 3724
  • Karma: +411/-0
  • Definitely not Dink!
    • NeoSource
Neo-Geo driver cleanup
« on: December 11, 2007, 04:38:50 AM »
Quote
Changes:

   Should 100% match the current MAME Neo-Geo driver (except for the extra bios roms)
      - games are in the same order as they are in neodrvr.c
      - drivers are clean and orderly
      - decrypted C drivers have been updated & expanded (still commented)
      - some bootlegs from kawaks (matrimbl, kof2002b, zintrkcd) (commented)

   Combined Cx decrypt code for JAMMA PCB games

   Modified the standard CMC Cx decrypt code
      - kf2k3pcb now works with the standard code
      - takes the same amount of RAM, slightly slower
      - allows removal of lots of duplicate/unnecessary code

   Fixed Vx loading for games with out-of-order Vx (kof2k4se, etc)

   Fixed kof2002 'how to play' screen (char. jumps off screen)

   Fixed S1 ROM size of 256kb (ct2k3sp), should work without any sort of hack now

   Modified Px loading routine
      - should be less buggy

   Modified nearly every game-specific Init
      - simplified and/or should take less RAM

   Overclocked CPU for games that need it (to fix glitches)
      - cthd2003 (104%), ct2k3sp (104%), ct2k3sa (105%), kog (104%)

   Modified / shortened the PVC bankswitch/pallette routine
      - CartRAM is a char rather than short
   
   Modified the drivers so that it is now possible to set the screen width
      - some games need 320 and some need 304
      - neogeo_s means 304, neogeo means 320 (as machine type) in MAME

   Added a small hack to allow MVS-only games to work on AES
      - does not patch the 'Px' roms, so games will pass Uni-Bios CRC check
      - affects sengoku3, zupapa, kof2000, mslug4, matrim, rotd, and mslug5

This hasn't been thoroughly tested, but I have checked almost all of the games that use a special init, and they seem to work fine. ^^
« Last Edit: December 11, 2007, 04:42:49 AM by iq_132 »


Offline lxd_bruce

  • Jr. Member
  • **
  • Posts: 75
  • Karma: +1/-0
Re: Neo-Geo driver cleanup
« Reply #1 on: December 11, 2007, 09:09:37 AM »
Nice work. :biggrin:

thx IQ. :wink:

IQ, do you plan to make cave driver cleanup someday in the future? :p


Offline iq_132

  • Administrator
  • *****
  • Posts: 3724
  • Karma: +411/-0
  • Definitely not Dink!
    • NeoSource
Re: Neo-Geo driver cleanup
« Reply #2 on: December 11, 2007, 10:58:14 AM »
IQ, do you plan to make cave driver cleanup someday in the future? :p
It's on my "to do" list, but it's a pretty low priority.  If I work on that, I'll have to invest time into getting the other cave games working. ^^


Offline CaptainCPS

  • FBNeo Dev
  • ******
  • Posts: 1513
  • Karma: +127/-0
  • FB Alpha Team
    • CaptainCPS's Home
Re: Neo-Geo driver cleanup
« Reply #3 on: December 11, 2007, 12:21:32 PM »
ThanX IQ! this sure is a clean NG driver :wink:, this will help too when doing research or modifications on drivers in the future

Will try it out today ^^

SeeYaa!
 :biggrin:

Offline CaptainCPS

  • FBNeo Dev
  • ******
  • Posts: 1513
  • Karma: +127/-0
  • FB Alpha Team
    • CaptainCPS's Home
Re: Neo-Geo driver cleanup
« Reply #4 on: December 11, 2007, 04:27:02 PM »
Well I was working today with my newest FBA build and I encountered with this error when I tried to compile your clean neogeo driver  :redface:
 
Quote
Making normal build...

Generating depend file for src/burner/win32/about.cpp...
Generating depend file for src/burner/win32/resource.rc...
Generating depend file for src/burn/neogeo/neo_run.cpp...
Compiling src/burner/win32/about.cpp...
Compiling resource file resource.rc...
Compiling src/burn/neogeo/neo_run.cpp...
src/burn/neogeo/neo_run.cpp: In function `int NeoInit()':
src/burn/neogeo/neo_run.cpp:1778: error: non-lvalue in unary `&'
mingw32-make[1]: *** [neo_run.o] Error 1
mingw32-make: *** [mingw] Error 2
_
FBA Compilation using MinGW v3.1.0 Done.
(Using Windows Vista Ultimate Environment)
Press any key to continue . . .


I hope this can be easy to fix

ThanX in advance! SeeYaa!
 :biggrin:

Offline iq_132

  • Administrator
  • *****
  • Posts: 3724
  • Karma: +411/-0
  • Definitely not Dink!
    • NeoSource
Re: Neo-Geo driver cleanup
« Reply #5 on: December 11, 2007, 08:22:15 PM »
Well I was working today with my newest FBA build and I encountered with this error when I tried to compile your clean neogeo driver  :redface:
 
I hope this can be easy to fix

ThanX in advance! SeeYaa!
 :biggrin:

Must be a difference in the compile tools we use.  That works fine with mine...
Anyway, replace this:
   BurnDrvGetFullSize(&nNeoScreenWidth, &(int)nCodeSize);
with this:

   {
      int h;
      BurnDrvGetFullSize(&nNeoScreenWidth, &h);
   }

and let me know if that works for you.


Offline CaptainCPS

  • FBNeo Dev
  • ******
  • Posts: 1513
  • Karma: +127/-0
  • FB Alpha Team
    • CaptainCPS's Home
Re: Neo-Geo driver cleanup
« Reply #6 on: December 11, 2007, 10:33:27 PM »
Must be a difference in the compile tools we use.  That works fine with mine...
Anyway, replace this:
   BurnDrvGetFullSize(&nNeoScreenWidth, &(int)nCodeSize);
with this:

   {
      int h;
      BurnDrvGetFullSize(&nNeoScreenWidth, &h);
   }

and let me know if that works for you.

ThanX IQ it worked just fine ^^, I added a thing just to make sure everything is like in your original code, and removed the {}...

Quote
   int h = nCodeSize;
   BurnDrvGetFullSize(&nNeoScreenWidth, &h);


And sorry to bother you with this stuff but it have been some time since I worked on FBA code and I'm like trying to remember the basics :p, I already did some fixing over the official FBA build and I will be releasing them maybe tomorrow (UI fixes found in FBA Extras but not in FBA official release).

PS: I have'nt figured a way to fix the fullscreen switching problem where the black area around the game is flashing X___X (happening on W.Vista).

SeeYaa!
:biggrin:

Offline iq_132

  • Administrator
  • *****
  • Posts: 3724
  • Karma: +411/-0
  • Definitely not Dink!
    • NeoSource
Re: Neo-Geo driver cleanup
« Reply #7 on: December 11, 2007, 10:36:20 PM »
nCodeSize;
this isn't necessary.  I only used it because it was a free 'int' that I could
use without having to add another line.


Offline KOF2112

  • Expert
  • *****
  • Posts: 187
  • Karma: +14/-4
Re: Neo-Geo driver cleanup
« Reply #8 on: December 18, 2007, 09:11:38 AM »
 :biggrin:

updated d_neogeo.cpp to  MAME 0.122

MAME 0.122 add Soccer Brawl (set 2)

Quote
game (
   name fightfev
   description "Fight Fever (set 1)"
   sourcefile neodrvr.c
   year 1994
   manufacturer "Viccom"
   romof neogeo
   rom ( name 060-s1.bin size 131072 crc 7f012104 sha1 f366dcc3923655dff16ec08a40d5fce22a84257d )
)

game (
   name mosyougi
   description "Syougi No Tatsujin - Master of Syougi"
   sourcefile neodrvr.c
   year 1995
   manufacturer "ADK / SNK"
   romof neogeo
   rom ( name 203-s1.bin size 131072 crc bfdc8309 sha1 781337eab932a130b396a6c1080611d6f9c24c6e )
)

game (
   name mslug5
   description "Metal Slug 5"
   sourcefile neodrvr.c
   year 2003
   manufacturer "SNK Playmore"
   romof neogeo
   rom ( name 268-m1.bin size 524288 crc 4a5a6e0e sha1 df0f660f2465e1db7be5adfcaf5e88ad61a74a42 )
)

game (
   name socbrawl
   description "Soccer Brawl (set 1)"
   sourcefile neodrvr.c
   year 1991
   manufacturer "SNK"
   romof neogeo
   rom ( name 031-m1.bin size 131072 crc 3aa4e9e1 sha1 65e53d799a0cb55b5bc55d57773e4682a72d7c2d )
)

game (
   name socbrala
   description "Soccer Brawl (set 2)"
   sourcefile neodrvr.c
   year 1991
   manufacturer "SNK"
   romof socbrawl
   rom ( name 031-pg1.bin size 524288 crc 17f034a7 sha1 2e66c7bd93a08efe63c4894494db50bbf58f60e4 )
)

game (
   name sonicwi3
   description "Aero Fighters 3 / Sonic Wings 3"
   sourcefile neodrvr.c
   year 1995
   manufacturer "Video System Co."
   romof neogeo
   rom ( name 097-v2.bin size 2097152 crc 3359e868 sha1 b7efd9f1a6dab33271fe8356bcc863aeae1d3ed8 )
)

game (
   name superspy
   description "The Super Spy"
   sourcefile neodrvr.c
   year 1990
   manufacturer "SNK"
   romof neogeo
   rom ( name 011-m1.bin size 131072 crc 6f737b5a sha1 d52f7b6786b6e33f09ba0cf30889082c1dfb9336 )
)


KOF98
yz98-p1.160  Change 242-p1.bin




Offline CaptainCPS

  • FBNeo Dev
  • ******
  • Posts: 1513
  • Karma: +127/-0
  • FB Alpha Team
    • CaptainCPS's Home
Re: Neo-Geo driver cleanup
« Reply #9 on: December 18, 2007, 09:58:44 AM »
:biggrin:

updated d_neogeo.cpp to  MAME 0.122

MAME 0.122 add Soccer Brawl (set 2)


KOF98
yz98-p1.160  Change 242-p1.bin


Cool!, ThanX KOF2112 for the update  :wink:

SeeYaa!
 :biggrin:

Offline iq_132

  • Administrator
  • *****
  • Posts: 3724
  • Karma: +411/-0
  • Definitely not Dink!
    • NeoSource
Re: Neo-Geo driver cleanup
« Reply #10 on: January 02, 2008, 02:25:02 AM »
Added:
rbff1a
mslug5h
kof2003h


Offline CaptainCPS

  • FBNeo Dev
  • ******
  • Posts: 1513
  • Karma: +127/-0
  • FB Alpha Team
    • CaptainCPS's Home
Re: Neo-Geo driver cleanup
« Reply #11 on: January 02, 2008, 02:33:35 AM »
Added:
rbff1a
mslug5h
kof2003h

ThanX IQ! you're pretty fast :cool:

SeeYaa!
 :biggrin:

Offline rush1477

  • New Member
  • *
  • Posts: 3
  • Karma: +0/-0
Re: Neo-Geo driver cleanup
« Reply #12 on: January 02, 2008, 04:08:51 AM »
Good job! Thanks for the update :cool:


Offline KOF2112

  • Expert
  • *****
  • Posts: 187
  • Karma: +14/-4
Re: Neo-Geo driver cleanup
« Reply #13 on: January 02, 2008, 07:03:35 AM »
 :biggrin:
Thanks to iq_132 updated neogeo driver

Offline JacKc

  • FBNeo Dev
  • ******
  • Posts: 1677
  • Karma: +56/-0
  • Hasta la vista, Baby !
Re: Neo-Geo driver cleanup
« Reply #14 on: January 02, 2008, 10:40:26 AM »
Thanks iq_132 :biggrin: