king-wanfu
n00b
- Joined
- Jan 23, 2001
- Posts
- 4
////////////////////////////////
/// NEO GEO MVS BIOS MOD FAQ ///
/// Version 0.1 01/22/01 ///
/// by King-Wanfu ///
/// king-wanfu@gmx.net ///
/// You can get the actual ///
/// revision at ///
/// www.daddelkingz.de ///
////////////////////////////////
"Life is a dream, and it's morning for you." - WanFu
TOC
0. Disclaimer
1. Introduction
2. Neo Geo Basics
3. Things needed for the mod
4. Explanation about what is done
5. How it is done
6. How to make it work
7. Known limitations
8. Thoughts about making the bios switchable
9. Needed informations
10. How to contact me
11. History
12. Thanks
13. Closing notes
----------------------------------------------------------------------------
0. Disclaimer
This information should not be used for making profit. If you find someone
selling modded MVS or Mod-Kits for unnaturally high prices, don't bother to
start a flame war. Everything you do is on your own risk. Don't laugh
about my writing style or fucked up grammar, english is not my mother language.
1. Introduction
Why I do this: I wanted to know if it is possible to run MVS-carts on a
MVS system in Home-Cart mode. If you see the prices for MVS-conversions
or this Arcade-Convertor selling currently on ebay, then you know why.
This document is very beta, so some are just plain wrong
Please test
out and help me to make this faq complete. Some now say: "but there is the
debug-bios, why should I need this mod?". Well, for me the answer is simple:
the debug bios didn't work on my 2 slot
2. Neo-Geo-Basics
Did you ever wonder how MVS-Conversions are done and how they work? Do you
think a Arcade-Convertor for your home-system is a miracle? Then the following
information is what you searched: Arcade and Home-Systems are the same except
for pinouts and a few bits in the bios. This means the Eproms on either
Home or MVS-Carts are identical. The only differnce is the pinout.
A MVS-Conversion is done by exchanging the roms from an mvs-board to an
home-board. Sometimes you have to add some simple logic-chips or fiddle
around with the pinout of the roms (I talk only of unprotected carts.
Protected carts is another chapter). No mystery involved. The Arcade-convertor
basicly is a Pinout-Adapter. So it should be possible to play MVS-carts
in home-mode on an mvs, don't you think?
3. So what do I need?
27C1024 Eprom
Eprom burner capable of burning these 16-Bit Eproms
Hex Editor
NeoGeo Bios file (found on the internet, don't ask me)
4. Tell me the mystery..
Ok, now if you are interested in whats happening: if you read the
mame-source (computer scientists like me love to do this..) you can see that
at location 0x400 (byte adress, not word) all neccesary information is stored:
the machine language and if it is a home or arcade-system. if you edit this
information the checksum will be invalid. so hack away the checksum-code and
you are done.
5. So how do I do it?
Grab your hex editor and the bios-file. (there a multiple versions on the net.
Compare the values that should be there with yours, and if they differ,
use another bios. You don't need to read the bios of your current MVS-system)
5.1. Wipe out the checksum-check
OK, now use your hex-editor and jump to location 0x11C62 in the rom-file. There
should be a 0x0066. the following adress should be 0xE200. If these are the
values in your rom, you are ready to start. If they are byte-swapped, all
the follwoing things also have to be byteswapped.
Now overwrite these values with
0x11C62: 0x714E
0x11C64: 0x714E
this wasn't really hard, was it? Now you're able to mess around with the code.
5.2. I want a japanese machine!
Now to the nice part: playing around with the modes.
jump to 0x400. This is the word which tells the cart which country it comes
from and what kind of machine it is.
0x400 (byte) is the location of the machine. These values make sense:
0x00 - japanese
0x01 - american
0x02 - european
so make your choice and overwrite with the desired value
5.3. I want a home system.. ahh. no, a mvs.. whatever..
0x401 (byte)tells what kind of machine the ng is
0x00 - home system
0x80 - mvs system
so just overwrite the 0x80 with 0x00, and you have an mvs which acts like
a home system.
5.4. Huh?
Ok, if you didn't get it:
write the following to 0x400 according to what you want:
0x400: 0x0000 - japanese home system
0x400: 0x0100 - american home system
0x400: 0x0200 - european home system
0x400: 0x0080 - japanese mvs system
0x400: 0x0180 - american mvs system
0x400: 0x0280 - european mvs system
5.5. What else?
I think the following part is not needed, but it couldn't try it out.
So if you try it out, tell me if you need it. I only made test with this
modification, but not without (no time... exams..). FYI: this disables the
memory-test.
0x11b00: 0x714e
0x11b02: 0x714e
0x11b16: 0xf94e
0x11b18: 0xc100
0x11b1a: 0x6a1b
6. OK, I've done the mod, but how do I use it?
Stick the Eprom in your Eprom-burner and burn the modded file. Now stick it
in the MVS in place of the old bios (sorry, I forgot the location. This gets
updated
), et voila, chances are good it runs. If not, something went wrong.
But please don't ask me if you aren't sure you did everything right.
7. Limitations
I only tried this on a 2-Slot MVS. The problem here is the Select-Switch.
On a normal NeoGeo this is used for pause and for exiting menus. But
the switch wasn't recognized, it was only used for switching between the slots.
Otherwise it worked fabulous.
8. I want to switch!
Ok, since this is bios-intern mod, a switch is not the easiest thing.
I used the OutputEnable-Signal. This means the following:
it soldered the original bios on top of the modded bios except pin 20.
These I bent to the outside so that they don't touch each other. I then
soldered wires to these 2 pins, an additional wire to pin20 on the socket,
and then I wired it the following way: (attention, bad ascii-art approaching)
Lead to Pin20 on Eprom1
----------------------------\ ______________
\_____+___ |__ |
Lead to Pin20 on Eprom2 | | * * |
--------------------------------+-----------------/ |
| | | |
Lead to Pin20 on Socket | | | |
-------------------------------------------* * |
______________________/ |
Lead to +5V / | | | |
--------------------------/ | | | |
\__________* * |
| | | |
\______________/
what it basicly does: either eprom 1 has OE and eprom 2 has +5V (OE is low
active) OR eprom 2 has +5V and eprom 2 has OE
8.1. Quite ugly this thing... Is there another way?
A nicer way would be (for example, I don't have time to mess around with it.
If someone of you has time, then you can design a circuit and give it to
the public. DON'T SELL IT):
Build a address comparator with a few NAND's (or use a pal), route the result
(0/1) to the select line of a demutliplexer (don't forget the output-enable
line), cut connection between the eprom-pins for the 3 needed bits (1 for
machine type and 2 for country), route these through the demultiplexer, and
use switches for the selection of the machine. If you don't know what I mean
then don't think about it (and don't ask questions..).
9. Needed additions/correction
Most needed information:
- do you need the hack described in 5.5?
- how does the select-button on one slots behave in home-mode?
10. Contact
You can reach me by e-mail under king-wanfu@gmx.net
DON'T ASK FOR ROM-IMAGES, READY-BURNT-ROMS OR HELP IF SOMETHING DOESN'T WORK
AND YOU DON'T KNOW WHAT AN EPROM-BURNER IS.
Donations are always welcome
Please only write in english or german.
11. History
01/22/01 - initial revision done in almost 1 hour
12. Thanks:
MAME-team for the nice source-code, my friends for making my life worth living,
and <insert your name here if you want>
12.1. NO-Thanks:
To all people who try to make money with this mod.
13. Closing notes:
Please make this FAQ available to everyone. This should be made public, so
that no one buys overpriced MVS-boards because of this information. If you
sell modded MVS-boards, then please let the people know what they buy.
Don't use this information and say that you are the inventor.
Nor do I, everything here is based on MAME-source.
---
"Life is a dream, and it's morning for you." - WanFu
/// NEO GEO MVS BIOS MOD FAQ ///
/// Version 0.1 01/22/01 ///
/// by King-Wanfu ///
/// king-wanfu@gmx.net ///
/// You can get the actual ///
/// revision at ///
/// www.daddelkingz.de ///
////////////////////////////////
"Life is a dream, and it's morning for you." - WanFu
TOC
0. Disclaimer
1. Introduction
2. Neo Geo Basics
3. Things needed for the mod
4. Explanation about what is done
5. How it is done
6. How to make it work
7. Known limitations
8. Thoughts about making the bios switchable
9. Needed informations
10. How to contact me
11. History
12. Thanks
13. Closing notes
----------------------------------------------------------------------------
0. Disclaimer
This information should not be used for making profit. If you find someone
selling modded MVS or Mod-Kits for unnaturally high prices, don't bother to
start a flame war. Everything you do is on your own risk. Don't laugh
about my writing style or fucked up grammar, english is not my mother language.
1. Introduction
Why I do this: I wanted to know if it is possible to run MVS-carts on a
MVS system in Home-Cart mode. If you see the prices for MVS-conversions
or this Arcade-Convertor selling currently on ebay, then you know why.
This document is very beta, so some are just plain wrong
out and help me to make this faq complete. Some now say: "but there is the
debug-bios, why should I need this mod?". Well, for me the answer is simple:
the debug bios didn't work on my 2 slot
2. Neo-Geo-Basics
Did you ever wonder how MVS-Conversions are done and how they work? Do you
think a Arcade-Convertor for your home-system is a miracle? Then the following
information is what you searched: Arcade and Home-Systems are the same except
for pinouts and a few bits in the bios. This means the Eproms on either
Home or MVS-Carts are identical. The only differnce is the pinout.
A MVS-Conversion is done by exchanging the roms from an mvs-board to an
home-board. Sometimes you have to add some simple logic-chips or fiddle
around with the pinout of the roms (I talk only of unprotected carts.
Protected carts is another chapter). No mystery involved. The Arcade-convertor
basicly is a Pinout-Adapter. So it should be possible to play MVS-carts
in home-mode on an mvs, don't you think?
3. So what do I need?
27C1024 Eprom
Eprom burner capable of burning these 16-Bit Eproms
Hex Editor
NeoGeo Bios file (found on the internet, don't ask me)
4. Tell me the mystery..
Ok, now if you are interested in whats happening: if you read the
mame-source (computer scientists like me love to do this..) you can see that
at location 0x400 (byte adress, not word) all neccesary information is stored:
the machine language and if it is a home or arcade-system. if you edit this
information the checksum will be invalid. so hack away the checksum-code and
you are done.
5. So how do I do it?
Grab your hex editor and the bios-file. (there a multiple versions on the net.
Compare the values that should be there with yours, and if they differ,
use another bios. You don't need to read the bios of your current MVS-system)
5.1. Wipe out the checksum-check
OK, now use your hex-editor and jump to location 0x11C62 in the rom-file. There
should be a 0x0066. the following adress should be 0xE200. If these are the
values in your rom, you are ready to start. If they are byte-swapped, all
the follwoing things also have to be byteswapped.
Now overwrite these values with
0x11C62: 0x714E
0x11C64: 0x714E
this wasn't really hard, was it? Now you're able to mess around with the code.
5.2. I want a japanese machine!
Now to the nice part: playing around with the modes.
jump to 0x400. This is the word which tells the cart which country it comes
from and what kind of machine it is.
0x400 (byte) is the location of the machine. These values make sense:
0x00 - japanese
0x01 - american
0x02 - european
so make your choice and overwrite with the desired value
5.3. I want a home system.. ahh. no, a mvs.. whatever..
0x401 (byte)tells what kind of machine the ng is
0x00 - home system
0x80 - mvs system
so just overwrite the 0x80 with 0x00, and you have an mvs which acts like
a home system.
5.4. Huh?
Ok, if you didn't get it:
write the following to 0x400 according to what you want:
0x400: 0x0000 - japanese home system
0x400: 0x0100 - american home system
0x400: 0x0200 - european home system
0x400: 0x0080 - japanese mvs system
0x400: 0x0180 - american mvs system
0x400: 0x0280 - european mvs system
5.5. What else?
I think the following part is not needed, but it couldn't try it out.
So if you try it out, tell me if you need it. I only made test with this
modification, but not without (no time... exams..). FYI: this disables the
memory-test.
0x11b00: 0x714e
0x11b02: 0x714e
0x11b16: 0xf94e
0x11b18: 0xc100
0x11b1a: 0x6a1b
6. OK, I've done the mod, but how do I use it?
Stick the Eprom in your Eprom-burner and burn the modded file. Now stick it
in the MVS in place of the old bios (sorry, I forgot the location. This gets
updated
But please don't ask me if you aren't sure you did everything right.
7. Limitations
I only tried this on a 2-Slot MVS. The problem here is the Select-Switch.
On a normal NeoGeo this is used for pause and for exiting menus. But
the switch wasn't recognized, it was only used for switching between the slots.
Otherwise it worked fabulous.
8. I want to switch!
Ok, since this is bios-intern mod, a switch is not the easiest thing.
I used the OutputEnable-Signal. This means the following:
it soldered the original bios on top of the modded bios except pin 20.
These I bent to the outside so that they don't touch each other. I then
soldered wires to these 2 pins, an additional wire to pin20 on the socket,
and then I wired it the following way: (attention, bad ascii-art approaching)
Lead to Pin20 on Eprom1
----------------------------\ ______________
\_____+___ |__ |
Lead to Pin20 on Eprom2 | | * * |
--------------------------------+-----------------/ |
| | | |
Lead to Pin20 on Socket | | | |
-------------------------------------------* * |
______________________/ |
Lead to +5V / | | | |
--------------------------/ | | | |
\__________* * |
| | | |
\______________/
what it basicly does: either eprom 1 has OE and eprom 2 has +5V (OE is low
active) OR eprom 2 has +5V and eprom 2 has OE
8.1. Quite ugly this thing... Is there another way?
A nicer way would be (for example, I don't have time to mess around with it.
If someone of you has time, then you can design a circuit and give it to
the public. DON'T SELL IT):
Build a address comparator with a few NAND's (or use a pal), route the result
(0/1) to the select line of a demutliplexer (don't forget the output-enable
line), cut connection between the eprom-pins for the 3 needed bits (1 for
machine type and 2 for country), route these through the demultiplexer, and
use switches for the selection of the machine. If you don't know what I mean
then don't think about it (and don't ask questions..).
9. Needed additions/correction
Most needed information:
- do you need the hack described in 5.5?
- how does the select-button on one slots behave in home-mode?
10. Contact
You can reach me by e-mail under king-wanfu@gmx.net
DON'T ASK FOR ROM-IMAGES, READY-BURNT-ROMS OR HELP IF SOMETHING DOESN'T WORK
AND YOU DON'T KNOW WHAT AN EPROM-BURNER IS.
Donations are always welcome
Please only write in english or german.
11. History
01/22/01 - initial revision done in almost 1 hour
12. Thanks:
MAME-team for the nice source-code, my friends for making my life worth living,
and <insert your name here if you want>
12.1. NO-Thanks:
To all people who try to make money with this mod.
13. Closing notes:
Please make this FAQ available to everyone. This should be made public, so
that no one buys overpriced MVS-boards because of this information. If you
sell modded MVS-boards, then please let the people know what they buy.
Don't use this information and say that you are the inventor.
Nor do I, everything here is based on MAME-source.
---
"Life is a dream, and it's morning for you." - WanFu