1 (edited by catmeows 2017-09-18 22:35:43)

Topic: Questions about three engines. Could you identify them ?

Hello. I wonder what kind of synthesis is used in following three ZX games. Maybe someone here could guess it by ear ?

1) Stormlord - https://www.youtube.com/watch?v=ygE5HOFr5FI&t=84s (start of video)

2) Antiriad - https://www.youtube.com/watch?v=0gtbIY8sAE4
I guess this is single square wave appergio ???

3) Super Dragon Slayer - https://www.youtube.com/watch?v=4Iztvbo09rU

Thanks if you answer and sorry for bothering if you are not interested.

Catmeows

Re: Questions about three engines. Could you identify them ?

Hi Catmeows,

2) is indeed just monophonic arps.
3) is almost certainly Mark Alexander's driver (WHAM! The Music Box).
1) seems to be monophonic arps as well, but with a dedicated, pretty sophisticated driver. Not sure about this one, maybe others know more.

Re: Questions about three engines. Could you identify them ?

Thank you.

Re: Questions about three engines. Could you identify them ?

3) utz, it is actually Lyndon Sharp's engine (just wait for the drums to kick in).

Re: Questions about three engines. Could you identify them ?

Now waaaaait a minute. I see (hear) your point regarding the drums (and yes, it's a Codemasters title) - but there's no way this is LSengine, because the tones sound totally different. The characteristic whistle of the squares makes me almost certain that it's WHAM. So could it be that somebody hacked in the drums from LSengine into WHAM? Only one way to find out... Archive.org has a .z80, so let's take a look. Hmm, it's not the exact code from WHAM, but there are some pretty striking similarities... Exiting stuff, and well spotted introspec big_smile

6 (edited by Shiru 2017-09-20 20:21:09)

Re: Questions about three engines. Could you identify them ?

I was totally sure 3 was Wham. It sounds exactly like Wham, pure square, the carrier hiss, the echo trick at the beginning. Then the drums kick in, typical LS ones. Maybe it is the third version of his engine? Going to investigate.

Edit: more likely that's the first LS engine, or maybe an engine that inspired Lyndon to make his own (music credited for Barry Leitch). Main sound loop looks very similar to Wham, but with some changes in registers usage.

Re: Questions about three engines. Could you identify them ?

Contacted Lyndon Sharp about this, and he's confirmed that he wrote that engine (and he most likely did the music conversion as well), based on WHAM. According to him, Codemasters wanted to avoid using WHAM because of license issues, so he sent them this one. It was only used once, as Codemasters still thought it too similar. So eventually Lyndon transformed it into what we now know as the LSengine'89.

Re: Questions about three engines. Could you identify them ?

What a piece of software archeology smile Thank you.

Re: Questions about three engines. Could you identify them ?

I am so totally not surprised by this revelation smile

I did 100% the same thing when I was working on my old Tank Battle game - I had no time to create an editor for my engine, so I modelled my data format (and engine to some extent) around WHAM and got a friend to write some music in WHAM, which was then trivially converted by hand and played back using my own beeper engine.

10 (edited by Shiru 2018-01-03 05:30:15)

Re: Questions about three engines. Could you identify them ?

Interestingly, Super Dragon Slayer has not one, but two songs on the title screen, alternating after each game over.

The most fun part, as far as I understand the code, is that drum track pretty much independent from the tone channels, it is much shorter than the tone track, looped, and there is row counter that delays when the drum track starts to play relatively to the tone channels.

Re: Questions about three engines. Could you identify them ?

catmeows wrote:

1) Stormlord - https://www.youtube.com/watch?v=ygE5HOFr5FI&t=84s (start of video)

I had finally time to look inside. Stormlord is 2 channel appergio. The time single note is playing is indepedent on interrupt but in song it is roughly aligned to 1/50 of second.
Note generator  can either rest running dry loop without switching 5th bit of port 254 or can generate note. Now it is quite interesting. There is square wave generator and each note is enconded as pair of 16 bit frequency and 8 bit duty modifier. The duty is ON for time (frequency + modifier) and is OFF for time (frequency - modifier).

12

Re: Questions about three engines. Could you identify them ?

Well, so the duty thing would be pretty much like in modern pulse-interleaving engines.

I assume there must be a connection between this and the Cybernoid series. Netherworld, too, and Turbo Boat Simulator.
https://www.youtube.com/watch?v=mlF1g3vovGs
https://www.youtube.com/watch?v=fExKarocRHM
https://www.youtube.com/watch?v=7Y-M1HnoLso
https://spectrumcomputing.co.uk/index.p … mp;id=5456
I'm assuming Dave Rogers wrote the beeper music for all of these (Nick Jones always used Wham for beeper). I think the engine must be his as well, because Turbo Boat Simulator is not a Hewson Title and none of the other usual suspects were involved in this. Also I wonder if it's always the same engine or if there's some evolution from Cybernoid -> Cybernoid II -> Netherworld/Stormlord.

Edit: Wow, forgot how insane that Netherworld music was. Easily one of the top monophonic beeper titles.

Sadly it seems Dave Rogers didn't have much love for the beeper, actually:

4: How was it working with the single channel Spectrum Beeper?

What can I say? Incredibly limiting would be an understatement. I always did the best I could with the 128k sound, trying to overcome it's limitations, but the beeper just felt like a waste of effort. The only time I did anything specifically for the beeper was for Cybernoid - a three channel tune for the 128k and a completely different one for the 48k.

The rest of the time I took the lazy way out and just squashed the three channel AY-chip data down into one channel for the beeper.

http://zxspectrumgames.blogspot.com/201 … rview.html

Re: Questions about three engines. Could you identify them ?

utz wrote:

Also I wonder if it's always the same engine or if there's some evolution from Cybernoid -> Cybernoid II -> Netherworld/Stormlord.

Cybernoid 2 and Stormlord seems identical, including register allocation, at least in core.
Cybernoid 1 is something completely different from Cybernoid 2 and Stormlord.
Netherworld is very similar to Cybernoid 2/Stormlord, including register allocation in core, but I see little differencies regarding instructions used in loop management - just the tail of core, first part of core is identical.  So perhaps it was Cybernoid 1 -> Cybernoid 2 + Stormlord -> NetherEarth ?