xboxscene.org forums

Pages: 1 ... 9 10 [11] 12 13

Author Topic: Kawa-x ...virtual Memory?  (Read 1047 times)

deusprogrammer

  • Archived User
  • Full Member
  • *
  • Posts: 111
Kawa-x ...virtual Memory?
« Reply #150 on: July 28, 2003, 06:54:00 PM »

True Mage, I did, didn't I.   Sorry about that.  I've just had a grudge against the moderators for some time now.  I just think that some of them really don't deserve to be moderators.  They just seem to put people down instead of helping them.  They only help the "733t" or the "advanced" users.  They seem to forget their roots.  They seem to forget they were clueless at one point.  I even realized once that I started doing that, and once I realized it I felt ashamed.  But a lot of the moderators and senior members don't seem to realize it.  There are only a couple instances of moderators being assholes on this thread, so I really shouldn't have come out of right field like that.  Sorry for the irrelevant rant that had nothing to do with the thread.

Something important I thought I might bring up though.  MHz made the original Kwaks right?  So isn't that how he was able to port it to the XBox with Virtual Memory or as he called it "Black Magic" so easily?  It may be easy for someone who designed the emulator from the ground up to implement Virtual Memory...but will it be easy for the porters who are just changing some things about the code to make it work on the XBox?  If I am wrong about MHz building it from the ground up, correct me please.
Logged

Iriez

  • Administrator
  • Hero Member
  • *****
  • Posts: 1238
Kawa-x ...virtual Memory?
« Reply #151 on: July 28, 2003, 07:02:00 PM »

No, you are correct. He is the author of kawaks.

Writing his own demand routines and implementing them into his code is certianlly alot easier than doing it to someone elses code.

This doesnt make others work impossible, just more difficult.

PS- Im not here to help, im here to maintain the forum. I was never a big one on help. This isnt Emulators-help forum, its 'Emulators'.

PSS- It was not Moderator(s), it was me. I never doubted that i am a ass at times. Welcome aboard! = )
Logged

bill99

  • Archived User
  • Newbie
  • *
  • Posts: 18
Kawa-x ...virtual Memory?
« Reply #152 on: July 28, 2003, 08:00:00 PM »

people bitch too much
Logged

mr jones

  • Archived User
  • Full Member
  • *
  • Posts: 164
Kawa-x ...virtual Memory?
« Reply #153 on: July 28, 2003, 08:18:00 PM »

I am going to go out on a limb here and say this:

I don't think that this emulator uses virtual memory.

There, I said it.

I think that Mhz did do some very savvy programming kung fu to get around some of the Xbox's limitations, but as for virtual memory? Ehh....I don't think so.

The reason why I say that is this - the large Neo games that are playable in this version have to be decrypted.  This DRASTICALLY decreases the sizes of many of the Neo games that were originally over 45mb.  Hell, Mark of the Wolves is only 39 megs compressed now (52 uncompressed).

Like Final Burn, Kawa-X doesn't have to maintain nearly as many game drivers as MameoX does, and for that reason, has more RAM available for system/game files.  There is definitely some fancy techniques going on under Kawa-X's hood to run the the large Capcom and Neo games like Marvel vs. Capcom, and King of Fighters 2000, but I'd have to see it quoted by Mhz himself, to believe that his black magic is virtual memory.

I've talked too much - I gotta go beat strikers 1945 plus on 2 credits now...

My 2 cents...
Logged

openwindow

  • Archived User
  • Full Member
  • *
  • Posts: 149
Kawa-x ...virtual Memory?
« Reply #154 on: July 28, 2003, 08:36:00 PM »

MrJones,

If you take the encrypted romset off your box, the game doesn't work. So what you're actually loading is a combo of the encrypted and the un-encrypted.

I know that for MSLUG3, that's about 90+ MB.

I think the decryption routines are what the author thinks is taking up too much ram. Sounds like a VM implementation to me.
Logged

sck

  • Archived User
  • Newbie
  • *
  • Posts: 37
Kawa-x ...virtual Memory?
« Reply #155 on: July 28, 2003, 08:40:00 PM »

QUOTE
If you take the encrypted romset off your box, the game doesn't work. So what you're actually loading is a combo of the encrypted and the un-encrypted.


As stated in other threads, that is not the case. All that happens is the emulator looks for the unencrypted m, v, and sometimes p roms when it does not find them in the decrypted rom set. So the next thing it looks for those roms is in the parent rom set. If you combine the required roms from the parent rom into the decrypted set you can run the game w/ just one zip and save space and loading time.
Logged

erexx

  • Archived User
  • Hero Member
  • *
  • Posts: 504
Kawa-x ...virtual Memory?
« Reply #156 on: July 28, 2003, 08:41:00 PM »

I think your right in the traditional sense of VM and windows paging.

Anyone with a hard drive light could probably confirm this as the game plays
it should hit the hard drive for files it needs as it clears memory for more data.
Logged

sck

  • Archived User
  • Newbie
  • *
  • Posts: 37
Kawa-x ...virtual Memory?
« Reply #157 on: July 28, 2003, 08:45:00 PM »

QUOTE (openwindow @ Jul 29 2003, 12:36 AM)
I think the decryption routines are what the author thinks is taking up too much ram. Sounds like a VM implementation to me.

He even mentions in his readme file that there is no decryption taking place as the result of 64mb of ram:

For the more recent encrypted NeoGeo games, though, only the decrypted form is supported (64Mb of RAM won't allow to do the decryption).

There would be no need to use decrypted romsets if decryption was done by the emulator. People just mistakenly assume that it needs the encrypted set to load up the rom when all it is using is the unencrypted roms from that set.

Logged

mr jones

  • Archived User
  • Full Member
  • *
  • Posts: 164
Kawa-x ...virtual Memory?
« Reply #158 on: July 28, 2003, 08:48:00 PM »

QUOTE (openwindow @ Jul 29 2003, 12:36 AM)
MrJones,

If you take the encrypted romset off your box, the game doesn't work. So what you're actually loading is a combo of the encrypted and the un-encrypted.

I know that for MSLUG3, that's about 90+ MB.

I think the decryption routines are what the author thinks is taking up too much ram. Sounds like a VM implementation to me.

Openwindow - Ok, I hear you knocking.

However, you're keeping both the original encrypted rom, AND the decrypted roms in the same directory, which isn't necessary.  Kawa-X is only looking for the bios, sound, data, and decrypted graphic files when it loads a game.  It bypasses the encrypted files altogether.

For instance:

If you keep both mslug3.zip, and mslug3n.zip, with the decrypted graphic files, its well over 90 megs.  But that entire 90 megs isn't being used.

if you just put the data and sound files, along with the decrypted graphic files into mslug3n.zip and delete mslug3.zip, the game will still run just fine.  In addition, that new file is only 38.2 megs compressed, and 50 megs uncompressed..  Again, with clever programming, that can be squeezed into the xbox's ram, without virtual memory.
Logged

Iriez

  • Administrator
  • Hero Member
  • *****
  • Posts: 1238
Kawa-x ...virtual Memory?
« Reply #159 on: July 28, 2003, 08:56:00 PM »

Hate to burst your guys bubble, but i've seen the source file for the paging routines. I am aware of what it is using, and how.

He only uses VMM for roms over 50mb.

Mslug3 is 78mb , the decrypted set is 37mb. You need both files, and files from both. You need all of the 37mb worth of the decrypted set, and some of the files for the normal parent zip. The xbox still needs to load over 70mb worth of files into its 64MB of RAM.

Trust me on this one, its very much so paging. There are similar routines being used in a few projects.
Logged

mr jones

  • Archived User
  • Full Member
  • *
  • Posts: 164
Kawa-x ...virtual Memory?
« Reply #160 on: July 28, 2003, 11:41:00 PM »

Iriez - I only have the most rudimentary of programming knowledge, and would love for you to to explain abit about how paging is used on here.  From a curiosity standpoint, I'd really like to know.

As for both files needing to be used, I'm afraid that you're mistaken.  Both files do not need to be in the directory for larger games like Metal Slug 3, to run.  I'll explain:

I used the latest release of WinKawaks to decrypt the graphic files from MSLUG3.ZIP.  I then took the decrypted files (ms3n_c*.rom) and put them in MSLUG3ND.zip.  I then took the following files from MSLUG3.ZIP and placed them in MSLUG3ND.zip as well:

256-m1.bin
256-p1.bin
256-p2.bin
256-ph1.rom
256-ph2.rom
256-sma.bin
256-v1.bin
256-v2.bin
256-v3.bin
256-v4.bin

So there only ends up being one file.  Total compressed size: 38.2 megs.  Sent through the romchecker I use, its only 51 megs when used through an emulator.  Again, that's small enough to work (barely) with the Xbox's RAM.

However, when I actually unzipped MSLUG3nd.zip, and decompressed all the roms into a separate directory, its over 96 megs.  And I figured that the emu would end up decompressing the entire zip file to use the roms.  THIS is where I'm confused, and would love to find out how this whole loading of large games is being accomplished.

Logged

Dahak

  • Archived User
  • Full Member
  • *
  • Posts: 133
Kawa-x ...virtual Memory?
« Reply #161 on: July 28, 2003, 11:47:00 PM »

I doubt the MAMEoX team would have bothered adding a virtual memory management module to their CVS tree in the last couple of days (for future use as it says in the changelog), if VMM hadn't really been used in KawaX. It's the real deal.
Logged

skforty

  • Archived User
  • Newbie
  • *
  • Posts: 22
Kawa-x ...virtual Memory?
« Reply #162 on: July 29, 2003, 02:06:00 AM »

you completely missed the "release your source code" point.  Xport was porting an open source emulator that was under the GPL license and that states "you may use this code, but if you do, you must release all your new source along with the old source for everyone"  or something to that effect, with kawaks kawa-x, it is a closed source emulator, he has never released source for it even on pc, its his on program and that same author is the one behind the xbox version, he doesnt have to start magically releasing his source because its on xbox now, its his own program, not some open source project under the gpl license.
Logged

Donan Fear

  • Archived User
  • Newbie
  • *
  • Posts: 10
Kawa-x ...virtual Memory?
« Reply #163 on: July 29, 2003, 02:19:00 AM »

Traditionally, to emulate mslug3 you need to fit this into memory:
[emulator][gfx buffers][neo geo ram][mslug3 decompressed rom (90 MB)]

If the C-roms are encrypted you need an additional 64 MB when loading and decrypting the rom (it loads the 64 MB encrypted C-roms, decrypts them to another 64 MB ram and unloads the encrypted roms). The actual zip-archives are never loaded directly into memory so it doesn't matter how much they are compressed.
WinKawaks with mslug3 (encrypted or decrypted) loaded and running uses about 105 MB ram. That obviously wouldn't work on the Xbox unless you used virtual memory, BUT I still think it doesn't use VM.

To use VM you need either the exact data you would load into memory on the harddrive (zip won't work) or a page file. I haven't found a page file and if Kawa-X did use a page file it wouldn't have a problem decrypting roms. That's why I think it doesn't use virtual memory.

How I think it works is that it doesn't load the entire decompressed rom, it reads and decompresses the roms on-the-fly when needed, the Xbox should be fast enough to do that. That's probably why it doesn't support decryption, without virtual memory you can't load everything into ram, and to decrypt on-the-fly is either too slow or not possible at all.
Logged

hosh

  • Archived User
  • Newbie
  • *
  • Posts: 34
Kawa-x ...virtual Memory?
« Reply #164 on: July 29, 2003, 03:13:00 AM »

QUOTE (Donan Fear @ Jul 29 2003, 11:19 AM)
How I think it works is that it doesn't load the entire decompressed rom, it reads and decompresses the roms on-the-fly when needed, the Xbox should be fast enough to do that. That's probably why it doesn't support decryption, without virtual memory you can't load everything into ram, and to decrypt on-the-fly is either too slow or not possible at all.

How do you propose this would be? Making it not load up all the levels at once, etc? That would mean MHz would have to code his emulator to open specific things when specific stuff happens in the game, for each and every game that's too big. I kinda doubt it.

And if this was true, how would you explain those games with tons of fighter characters - that show the characters moving when you highlight their name on the select screen? The characters must be the biggest space-hogs in fighters, at least, seeing as how they're amazingly well-animated with a whole truckload of frames of animation.
Logged
Pages: 1 ... 9 10 [11] 12 13