On Tue, 9 Mar 1999, Maarten ter Huurne wrote:

> At 09:44 AM 3/8/99 -0300, you wrote:
> 
> >All right, if there's programmer's intervention, then everything should be
> >right! Sometime ago, I tried something like that, but I couldn't detect
> >when a LD (16-bit register),A or LD (address),another 8-bit register was a
> >block switching.
> 
> Most games use LD (nnnn),A for all switching. In that case, you only have
> to look for #32 #00 #xx, where #xx is in a set of page switch addresses
> (example of such a set: { #50, #70, #90, #A0 } ).

That's ok for Konami, Compile and T&E Soft games, but there are some
strange ones that does use other ways of block switching. BTW, T&E does
use very often LD HL,0302h / LD (9FFFh),HL

> >Konami games cracked to run using high part of VRAM??? This should be very
> >slow!
> 
> Although Konami does frequent slot switching, not all pages are visited
> frequently. Most of those cracks run at a reasonable speed, with the
> exception of Firebird, which slows down a lot at certain points.

I had saw in Nemesis x, F1 Spirit and Penguin Adventure that Konami, at
each interrupt, changes blocks 1, 2 and 3 to 13, 14 and 15, respectively
at positions 6000h, 8000h and A000h.

> >Then, the blocks selected on area 6000h-7FFFh have 2 bytes lost? I think
> >that the solution adopted in MegaRAM is a bit more intelligent.
> 
> You cannot write those two bytes at that address. But you can read them.
> And you can write them at other addresses (#5FFE-#5FFF, #9FFE-#9FFF,
> #BFFE-#BFFF), you're using pages after all.

Oh yes! You can load the program in the same block number selected in
other memory area! That's perfect.

> One advantage of ESE-SCC access over MegaRAM is that you can have more than
> one in your MSX. This is good if you for example have a MegaSCSI and an
> ESE-SCC in the same MSX.

But you can have more than one Megaram in one MSX! When a OUT (8Eh),A is
executed, all Megarams is put in "write-enable-mode", and whan a IN
A,(8Eh) is executed, all Megarams is put in "block-select-mode". And
there's no risk of short circuit in the databus when you execute a IN
A,(8Eh), because no data is returned, and the bus is put in high-impedance
(tri-state).

> >> Martos did a lot of re-arranging on Solid Snake. He made a kind of
> >> mini-BIOS, so that game routines could be fitted into #0000-#3FFF area.
> >
> >Wow! This is very interesting!!! Where can I get a copy of it? Perhaps I
> >could use his arrangement to run directly from disk. Did he achieve this?
> 
> Look at my page and download the DSK version:
> http://www.stack.nl/~mth/msx/solideng/

I didn't know that the DSK version was adapted to run with only 256kb of
Memory Mapper! What was more difficult: translate do English or adapt do
256kb of Mapper?

> >I already know. I would have to make a different version designed for each
> >machine that has a different FDC. Hard work!
> 
> Is that necessary? Can't you call #4010 in the diskROM slot? Most of the
> data structures below #F380 are only necessary if you load files. If you
> stick to sectors, the game can overwrite them. This is the reason why the
> Solid Snake crack saves to sectors, while the original saves to files.

But, with direct access to FDC, the data transfer rate is maximized. And
the main idea was copy protection, using special formatting (1kb sectors)!

Greetings from Brazil!

-----------------------------------------------------------------
Marco Antonio Simon Dal Poz        http://www.lsi.usp.br/~mdalpoz
[EMAIL PROTECTED]   "Apple" (c) Copyright 1767, Sir Isaac Newton

    /"\
    \ / CAMPANHA DA FITA ASCII - CONTRA MAIL HTML
     X  ASCII RIBBON CAMPAIGN - AGAINST HTML MAIL
    / \


****
MSX Mailinglist. To unsubscribe, send an email to [EMAIL PROTECTED] and put
in the body (not subject) "unsubscribe msx [EMAIL PROTECTED]" (without the
quotes :-) Problems? contact [EMAIL PROTECTED] (www.stack.nl/~wiebe/mailinglist/)
****

Reply via email to