News:

Printed Amstrad Addict magazine announced, check it out here!

Main Menu

Possible to convert Navy Seals to dsk?

Started by emuola, 18:59, 29 November 13

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

emuola

Could be a funny question, but is it possible to convert a GX4000 rom file (.bin/cpr) to a dsk? I'd like to play Navy Seals with HxC. I have a 6128+, but I really don't want to start the eprom stuff...
Amstrad CPC 6128+ and internal HxC floppy emulator

andycadley

It certainly wouldn't be a trivial task.

Exactly how much work would depend a lot on how the game internally structures things. It could be anything from rewriting some generic data transfer code to a major rewrite of several parts of the game. In the worse case scenario, it might not be possible without changing parts of the game entirely.

emuola

Ok, I just wanted to ask, because there are games for MSX that have been converted to dsk and also dsk-files to rom.
Amstrad CPC 6128+ and internal HxC floppy emulator

ralferoo

Turning a ROM program that is written assuming random access to a ROM memory space that is almost certainly larger than the extra 64KB of RAM is going to involve a major rework. Even if the cartridge was only 64KB of ROM, it'd still be a lot of work to make it read that from the extra 64KB of RAM instead. So basically, no.

Gryzor

"So basically, no"


Ralferoo, dream destroyer.

TFM

Oh well, if the cart is only 64 KB than you can put the four 16 KB ROMs into the 6128's expansion RAM. The amount of code to be changed depends on the game.

TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

andycadley

Sadly, it's not quite that simple. First of all it's possible to design things so they out and out can't be done without a cartridge. For example if your sprite routines never need to read from the display, you can page two ROMs in over the top and get an effective 96k address space with a double buffered display and that's something that just can't be replicated with RAM paging alone.

Even in more simple cases, you have the issue that the only place you can easily page in the extra memory is 4000h, which is exactly the same place the ASIC registers page in, so copying from banked ram into sprites or other registers becomes a lot more difficult.

Of course it's possible that the GX version is just using the ROM like disk storage (which would've made code sharing with the Spectrum 128 version easier, as well as possibly being necessary on preview hardware). Now if that's the case, converting it might be more feasible - it'd be a bit like doing a disk to cart conversion in reverse.

The problem is that it'd take a fair bit of effort just to determine the plausibility of such a port and that's probably more than it's worth given that it isn't that hard to get hold of an actual cart if you really wanted to play it on the real thing.

TFM

You also can page 64 KB ROM in and get 128 KB address space. The question is how much of the Plus features the programmers did use. And as I know it's in general not that much.

TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

MacDeath

QuoteThe question is how much of the Plus features the programmers did use. And as I know it's in general not that much.
Navy Seal ?

hardsprites I guess, PLUS palette, perhaps some raster interrupt so HUD has another palette (like Robocop 2), perhaps hard scroling as well...

No DMA sounds obviously.

arnoldemu

Quote from: MacDeath on 11:34, 12 December 13
Navy Seal ?

hardsprites I guess, PLUS palette, perhaps some raster interrupt so HUD has another palette (like Robocop 2), perhaps hard scroling as well...

No DMA sounds obviously.
DMA channel 0 is used by sound effects.

They make the sound only with DMA, so there is no CPU time required to play them back. They start a DMA running and leave it :)

Navy Seals (cartridge) - CPCWiki

My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

MacDeath

Some dudes told me DMA was useless if not used for sound samples... but it seems it can save some CPU anyway then.


So I guess this game actually exploit all PLUS features after all.

TFM

Sadly it can not be seen in the resolution of the sprites. What a pity, else the game is well done.

TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

MacDeath

to use Mode0 sized pixels for the hardsprites really helps a lot... it needs half the number of sprites for the same surface, those being slow to refresh or modify, it makes a huge difference.

arnoldemu

Quote from: MacDeath on 02:22, 14 December 13
to use Mode0 sized pixels for the hardsprites really helps a lot... it needs half the number of sprites for the same surface, those being slow to refresh or modify, it makes a huge difference.
Also using mode 0 sprites, with mode 0 background can sometimes look better than mixing higher res sprites over mode 0 background.
Of course it's a preference thing.

Yes, Pang, Navy Seals and Robocop 2 make use of most plus features :)
So does Burning Rubber ;)

My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

TFM

Quote from: MacDeath on 02:22, 14 December 13
to use Mode0 sized pixels for the hardsprites really helps a lot... it needs half the number of sprites for the same surface, those being slow to refresh or modify, it makes a huge difference.


That's true. But it would be sooo beautiful to see them in MODE 1 resolution. IMHO in case of Navy Seals the number of sprites would be enough.


About the refresh: It's still way more quick than with software sprites. You don't have to save the backgound and the sprites RAM is linear. Of course you need to fill a byte for every pixel, but... hey ;-)

TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

arnoldemu

Quote from: TFM on 04:14, 14 December 13

That's true. But it would be sooo beautiful to see them in MODE 1 resolution. IMHO in case of Navy Seals the number of sprites would be enough.


About the refresh: It's still way more quick than with software sprites. You don't have to save the backgound and the sprites RAM is linear. Of course you need to fill a byte for every pixel, but... hey ;-)
yes of course.

Look at Navy Seals it limits the number of enemies on screen so that they all - including your player - fit within the 16 sprite limit.
Clever use of software sprites for bullets (which will be quick to draw). It sometimes looks like there are more than the plus has. I don't think it multiplexes the sprites.
My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

MacDeath

I think many games can use soft sprites for bullets.

I mean, most bulets would need like 1 byte large (2 mode 0 pixels) wide...

you can more easily address one byte than a pixel.


Still a bit of a shame that those PLUS hardsprites use 8bpp instead of 4bpp, and are not simply pointed into RAM/ROM... so they would be faster to refresh and truly multiplexable.

would make a real overlayer like a 256x256 pixel foreground screen with mode1 pixels...
or even 2 layers in "Mode0" ...




andycadley

Quote from: MacDeath on 12:11, 12 December 13
Some dudes told me DMA was useless if not used for sound samples... but it seems it can save some CPU anyway then.
The DMA is handy even in the most minimal usage, because the normal way of writing to the AY registers is such a PITA. Just being able to bypass the whole faffing around with PPI registers can save a heap of time.

Although it fits into a common problem when CPC devs look at the Plus hardware, whereby they tend to ignore all the benefits, pick up on the one or two things that aren't ideal and then just declare everything useless. In reality, it's hard to use the Plus features and not get a benefit overall - if only because you are always able to fall back on the "old way" if you really need to.

TFM

Agreed!


And in addition a lot of games (well, I just assume that) look like they have been made an a CPC old generation (oG) and then "ported" to the Plus. So some Plus features were used (Sprites, DMA, ...) but the "backbone" of the games is still CPC oG derived.




Few games have been developed from the beginning for the 6128 Plus, and IMHO you can really see the difference.  :)
TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

Powered by SMFPacks Menu Editor Mod