about converting ZX-Spectrum games to MSX as they were in the late 80’s or early 90’s

Pagina 1/3
| 2 | 3

Door nitrofurano

Champion (303)

afbeelding van nitrofurano

25-05-2016, 10:33

Well, i clearly see that this might be a very pathetic idea, which i quite humbly agree with that, since those ZX-Spectrum games converted to MSX between the late 80’s and early 90’s are mostly clearly low profiles, or result of a “law of least effort”! Big smile (in the context that these versions, in most of the situations, could be far closer to what the MSX hardware could provide that time)

Anyway, some of these conversions actually resulted minimally acceptable, and some people might have some nostalgic memories from them, like Game Over, Jack the Nipper, Wells & Fargo, etc.

The question is that, since there are a quite good amount of ZX-Spectrum games that were converted to MSX that time in this way, there are far more (like those we can find hosted at World of Spectrum) that were not yet - so, how simple or easy would be converting these ones?

It might be a huge waste of time and effort, but perhaps decompiling, analyzing, comparing, adapting, recompiling, converting, or etc., might be a very interesting programming exercise - what do you all think about?

Aangemeld of registreer om reacties te plaatsen

Van zPasi

Champion (499)

afbeelding van zPasi

25-05-2016, 17:34

These are called "lazy Spectrum ports". Of course it wasn't really about laziness. In many countries, the MSX share was considered so small that companies weren't willing to invest much on these conversions. I remember reading that a coder was given just three days to make such a port Big smile

So, it wouldn't be so hard to exceed that quality, at least. But of course, when the game sources are not available, there will be some challenge disassembling and researching the Spectrum games in question.

In the past, I have done one of such a conversion. But it was my own game, so I had sources of it and knew the game logic well. And it was a simple game. And I still used more than three days doing that Cool

Van Marq

Champion (387)

afbeelding van Marq

25-05-2016, 20:06

It might not be quite as straightforward as it seems, considering the weird layout of the Spectrum screen memory and the fact that on an MSX we need to draw using port commands instead of memory-mapped graphics like Speccy has. Random access and read-modify-write operations might be so much slower that a very graphics intensive game might be impossible to port with a realistic framerate.

Van PingPong

Enlighted (4138)

afbeelding van PingPong

25-05-2016, 23:30

Marq wrote:

It might not be quite as straightforward as it seems, considering the weird layout of the Spectrum screen memory and the fact that on an MSX we need to draw using port commands instead of memory-mapped graphics like Speccy has. Random access and read-modify-write operations might be so much slower that a very graphics intensive game might be impossible to port with a realistic framerate.

I do not agree woth you. To do sw sprites on zx you need some small buffer to avoid flickering when updating the screen. This involves a copy of contiuous byte interlaced from random access. In this situation the loss of speed is not so remarkable.
If this was as you described there will. Be no zx - msx ports because nearly impossible.

Consider that a vram vpoke is nearly slow as 8x ld r,(HL)

Van OX

Resident (33)

afbeelding van OX

25-05-2016, 23:43

ZX Spectrum was my first computer but it always annoyed me when the graphics where ported over to other formats like MSX, C64 and Amstrad which all have more colourful and useful graphics modes, which lead me to believe that they must have also been directly converting the graphical handling. Yes, lazy ports.

Van zPasi

Champion (499)

afbeelding van zPasi

26-05-2016, 00:12

Marq wrote:

It might not be quite as straightforward as it seems, considering the weird layout of the Spectrum screen memory and the fact that on an MSX we need to draw using port commands instead of memory-mapped graphics like Speccy has.

That weird layout is not a problem, the conversion to MSX screen 2 format is pretty straightforward. The slower access to the screen memory is a bit more of a challenge. Indeed, many Spectrum ports are slower on the MSX than the original on the Speccy. However, the screen access speed is not a show-stopper, when coded properly. And many Speccy games use off-screen buffers already, so very close to the original frame rates are possible, if digging the mechanism deep enough.

I think there are bigger challenges in disassembling and analyzing those games. Many of them have strange interrupt routines, strange usage of the Spectrum ROM, and weird mechanisms for making piracy harder. But nothing impossible of course, I'm sure they all are hackable, it's just a question of how long it takes.

Van Timmy

Master (200)

afbeelding van Timmy

26-05-2016, 02:34

I agree with zPasi about how hard it would be.

I just wanted to make an additional remark that games that use the Spectrum attribute screen extensively, will be even harder to convert than monochrome games.

It's even harder if you want to try to speed up things, and use MSX1 hardware sprites for speed. While I can easily have 4 masked sprites on the Spectrum every frame, with clipping; on the MSX1 I can only have 4* hardware sprites without masks nor clipping.

On the other hand, slow games like text adventures (of which the Spectrum has a lot of) can be ported much easier.

I still have plans to port more of my games to the MSX, but I can't say when that will happen. Hopefully soon.

Van zPasi

Champion (499)

afbeelding van zPasi

26-05-2016, 10:53

Timmy wrote:

I just wanted to make an additional remark that games that use the Spectrum attribute screen extensively, will be even harder to convert than monochrome games.

Yeah. The screen 2 mode has 8 times more bytes in the colour attribute table, than the Spectrum. We'd need some way to update the changed "tiles" only. That should make it fast enough.

About sprites, one idea would be to use the Spectrum-style software sprites almost as is, and just use hardware sprites to add some colour to the main character and other important sprites.

And, by using MSX2 9938 VDP, even more could be achieved.

Edit: One more problem came to my mind: in the Spectrum, there are no system variables in the high memory area. The MSX keeps important variables and buffers in $F380 - $FFFF, with Disk Basic even lower. Almost any Speccy game would just overwrite them. So the MSX BIOS should be deactivated, and replaced with a custom "bios" and ISR that don't care about that memory area. Still, the game code would need to be hacked not to use the address $FFFF, because it's the extended slot selector.

Van AxelStone

Prophet (3199)

afbeelding van AxelStone

26-05-2016, 21:08

I don't think it's a good idea to port Spectrum games. The only reason why companies made that was to save time, they were considered lazy conversions as zPasi says. Instead of waste effort converting ZX games, if someone has time and knowledge to program MSX, making original games is far better option.

Van sd_snatcher

Prophet (3659)

afbeelding van sd_snatcher

27-05-2016, 01:00

IMHO, the best option would be to do proper ports of the good spectrum games to MSX2, pretty similar to the Alien-8, Knight Lore and Batman remakes for the MSX2. Ok, I know those were converted from the MSX1 versions, but the process would be pretty much the same.

Even action games are feasible, like The Last Mission and Goody for the MSX2.

Van ARTRAG

Enlighted (6935)

afbeelding van ARTRAG

27-05-2016, 08:53

+1
It would be more a remake than a port but it would be worth

Pagina 1/3
| 2 | 3