Speccy ports

General software. From trouble with the Banyan Tree to OCP Art Studio, post any general software chat here. Could include game challenges...
Post Reply
MrPixel
Microbot
Posts: 170
Joined: Sat Mar 24, 2018 7:42 pm

Speccy ports

Post by MrPixel »

how is it that more powerful hardware (amstrad, Commodore) managed to be ruined by bad porting jobs of spectrum titles. i can understand convenience. i cannot understand why these rush jobs made money. usually more powerful hardware allows for better color, advanced graphics and better game-play.

case in point:

Pacmania (same as speccy version)
R type (monochrome screen with a lazy attempt to color sprites for enemies)
Mevlut "Speccy" Dinc
User avatar
PeterJ
Site Admin
Posts: 6878
Joined: Thu Nov 09, 2017 7:19 pm
Location: Surrey, UK

Re: Speccy ports

Post by PeterJ »

It's cheaper and easier. Therefore more profits.
AndyC
Dynamite Dan
Posts: 1408
Joined: Mon Nov 13, 2017 5:12 am

Re: Speccy ports

Post by AndyC »

The Speccy market was bigger and the hardware leant itself to being the lowest common denominator configuration. It's possible to take an existing speccy codebase and just tweak it to run on other machines with minimal effort, giving you a quick route to selling a few extra copies. Re-working all the graphics or optimising the code to better suit alternate hardware was a more costly effort and harder to justify for platforms which weren't going to sell as many copies, even with a big hit title.
MrPixel
Microbot
Posts: 170
Joined: Sat Mar 24, 2018 7:42 pm

Re: Speccy ports

Post by MrPixel »

The Amstrad line had different registers. i don't see how converting a speccy title to amstrad would be easy.

even the BASIC is different
User avatar
PeterJ
Site Admin
Posts: 6878
Joined: Thu Nov 09, 2017 7:19 pm
Location: Surrey, UK

Re: Speccy ports

Post by PeterJ »

Both the Spectrum and the Amstrad CPC used a Zilog Z80. The ZX Spectrum shared similar hardware with the Amstrad CPC

Being from an Amstrad site this article is a little biased but still worth a read.

http://www.cpcwiki.eu/index.php/Speccy_Port

This quote is taken from Wikipedia article on the Z80:

Sinclair Research used the Z80 and Z80A in its ZX80, ZX81, and ZX Spectrum home computers. These were marketed in the USA by Timex as the Timex/Sinclair series. Amstrad used the Z80A in their Amstrad CPC and PCW ranges and an early UK computer.
AndyC
Dynamite Dan
Posts: 1408
Joined: Mon Nov 13, 2017 5:12 am

Re: Speccy ports

Post by AndyC »

MrPixel wrote: Thu Mar 29, 2018 7:56 pm The Amstrad line had different registers. i don't see how converting a speccy title to amstrad would be easy.

even the BASIC is different
BASIC is neither here nor there for most software, which is written in assembly - there is really only a simple BASIC loader to kick start things and that's trivial to replace. Both machines are Z80 so you really only need different routines for reading the keyboard, updating the screen and producing sounds. Swapping a keyscan routine is trivial. Music/FX can either be a tweaked AY routine (if the speccy title had AY music), faking the beeper by "sample" playback on the AY or just a complete replacement with some generic sound effects or music from the ST - it's the kind of code you just have lying around.

The screen display update is the more awkward thing, but given the Speccy is just a straight 1bpp bitmap (in most cases) you just need a routine to render that as a single colour in the Amstrads 2bpp mode. You can get fancier in a few ways - Dizzy when drawing backgrounds just directly maps the Speccy's 7 colours onto the Amstrad's 4 in numeric order (this is why there are no blue background items in Dizzy, they'd disappear on the Amstrad), whereas R-Type basically renders the screen in Speccy format then does a conversion in a similar fashion (hence seeming to have attribute clash and the screen appearing to pop into existence on the right, something normally hidden by black-on-black attributes on the Spectrum). You'll often find Amstrad titles also fiddle the screen size via the CRTC to be 64 bytes wide (32 characters) to make converting draw routines easier (though interestingly Dizzy doesn't and just draws a 32 char wide image in the middle of a 40 character wide display).

If you're interested in writing cross-platform code, you could do worse than watching Keith's YouTube series on cross platform development based on his experiences with Chibi Akumas: https://www.youtube.com/channel/UC8t99g ... f5rGVaRevw
Ralf
Rick Dangerous
Posts: 2288
Joined: Mon Nov 13, 2017 11:59 am
Location: Poland

Re: Speccy ports

Post by Ralf »

In general case you cannot say that CPC or C64 is more powerful than Spectrum ;)

CPC is unable to show 15 colours at 256x192 resolution like Spectrum.
C64 has slower CPU than Spectrum and it was visible in isometric or vector games where they couldn't use an hardware boost.

So a lazy port and not total rewrite was going to end with disaster as you say. A colourful Spectrum game
was reduced to 4 colours on CPC to keep the resolution and avoid redrawing everything but it didn't look nice.
Nomad
Manic Miner
Posts: 600
Joined: Thu Dec 28, 2017 12:38 pm

Re: Speccy ports

Post by Nomad »

Like AndyC and the guys talk about cpc had smaller market share, do you want to spend a lot of time making a fabulous cpc port or just move on to making your next sublime spectrum blockbuster?

If there had been a wide distribution contract set up to Japan - I figure MSX would have gotten a ton of lazy ports done. That was a huge market in Japan but access was the issue. The machines were a common standard but you had different configurations within it. A whole range going from top of the line pant wetting monsters all the way down to potato.

If you were going to go 6502 fam for your ports you are looking at market share in the UK. I think distribution puts a barrier to looking at overseas markets. So its not an obvious choice to make a Atari 400/800 port/C64 combo. In the UK it would have been BBC micro & C64. But towards the end I don't think many people thought about seriously porting games to the Beeb.

You can see part of the problem in micro men - when the guy goes into wh-smiths to try and buy games for the BBC and its a tiny corner with one shelf compared to rows and rows of spectrum and commodore software.
Bizzley
Microbot
Posts: 124
Joined: Thu Nov 16, 2017 10:47 am

Re: Speccy ports

Post by Bizzley »

MrPixel wrote: Thu Mar 29, 2018 5:49 pm how is it that more powerful hardware (amstrad, Commodore) managed to be ruined by bad porting jobs of spectrum titles. i can understand convenience. i cannot understand why these rush jobs made money. usually more powerful hardware allows for better color, advanced graphics and better game-play.
Because in the case of R-Type Keith was given an insanely small amount of time to do the conversion by Activision who wanted something on sale in the shops for the Christmas market. They had announced a CPC version beforehand and naively assumed I was going to do the port for them, or to be more accurate that Catalyst Coders were going to supply them with a conversion and that I would be doing that format as well. They were all wrong.

There's usually a story of some sort behind bad ports of Spectrum titles, it's not always a case of the programmer couldn't care less.
"He made eloquent speeches to an audience consisting of a few depressed daffodil roots, and sometimes the cat from next door."
MrPixel
Microbot
Posts: 170
Joined: Sat Mar 24, 2018 7:42 pm

Re: Speccy ports

Post by MrPixel »

Bizzley wrote: Thu Mar 29, 2018 11:16 pm Because in the case of R-Type Keith was given an insanely small amount of time to do the conversion by Activision who wanted something on sale in the shops for the Christmas market. They had announced a CPC version beforehand and naively assumed I was going to do the port for them, or to be more accurate that Catalyst Coders were going to supply them with a conversion and that I would be doing that format as well. They were all wrong.

There's usually a story of some sort behind bad ports of Spectrum titles, it's not always a case of the programmer couldn't care less.
you keep mentioning i in past tense. did you work on that port?
Bizzley
Microbot
Posts: 124
Joined: Thu Nov 16, 2017 10:47 am

Re: Speccy ports

Post by Bizzley »

No I didn't work on the Amstrad port, other than go through my Spectrum source code with Keith Goodyer and try and help him out over the phone when he had some questions. There's a good breakdown of what went on with that port at http://www.cpcwiki.eu/index.php/R-Type with a couple of quotes from Keith and myself.
"He made eloquent speeches to an audience consisting of a few depressed daffodil roots, and sometimes the cat from next door."
User avatar
Seven.FFF
Manic Miner
Posts: 744
Joined: Sat Nov 25, 2017 10:50 pm
Location: USA

Re: Speccy ports

Post by Seven.FFF »

Bob wrote a really rather good book about his experiences writing the Spectrum R-Type port.

Recommended reading, if you haven't come across it before! It's a free download.
Robin Verhagen-Guest
SevenFFF / Threetwosevensixseven / colonel32
NXtel NXTP ESP Update ESP Reset CSpect Plugins
AndyC
Dynamite Dan
Posts: 1408
Joined: Mon Nov 13, 2017 5:12 am

Re: Speccy ports

Post by AndyC »

Bizzley wrote: Fri Mar 30, 2018 1:36 am No I didn't work on the Amstrad port, other than go through my Spectrum source code with Keith Goodyer and try and help him out over the phone when he had some questions. There's a good breakdown of what went on with that port at http://www.cpcwiki.eu/index.php/R-Type with a couple of quotes from Keith and myself.
Yeah, it was a brutally harsh time frame and the result is frankly still quite impressive for so little time. The full thread on it and the subsequent development of the 128K remake port is full of interesting details but Keith gave a fairly good breakdown of exactly how it was done near the beginning (http://www.cpcwiki.eu/forum/games/r-typ ... s-128)/10/). This kind of thing wasn't really uncommon back in the day, hence the prevalence of Speccy ports or occasionally cut and shut jobs, like Barbarian, which took the low res C64 graphics (with their 3 colour sprite limits) and the Speccy code to produce a multicolour "16 colour" mode port.
User avatar
jmk
Drutt
Posts: 26
Joined: Mon Nov 13, 2017 2:23 pm

Re: Speccy ports

Post by jmk »

I heard a claim, from a programmer, that one game was exactly the same as the Spectrum version - even generating the Spectrum screen output, which was then converted in real-time into the screen format of the CPC. Naturally, it wasn't a very fast game by doing that!

But, to be fair, I think they said they had one week to make the CPC version.
Just like before, it's yesterday once more.
Ralf
Rick Dangerous
Posts: 2288
Joined: Mon Nov 13, 2017 11:59 am
Location: Poland

Re: Speccy ports

Post by Ralf »

Yes, I read somwhere similar stories too. That some CPC games were generally a Zx Spectrum emulator - executing Spectrum code and creating in memory Spectrum display and only at the last moment running a procedure which converted Spectrum display to CPC display and send it to screen.
Post Reply