'New' (er, old) Tim Follin music, retrieved from Tatung Einstein disks

On the creation of AY or Beeper music, including the packages used to do so.
Post Reply
User avatar
PeteProdge
Bugaboo
Posts: 3588
Joined: Mon Nov 13, 2017 9:03 am

'New' (er, old) Tim Follin music, retrieved from Tatung Einstein disks

Post by PeteProdge »

URL: https://github.com/breakintoprogram/archive-follin
Backups of music Tim Follin wrote in the late 80s and early 90s whilst working at Software Creations in Manchester.

This is not my find, the credit goes to Dean Belfield on the Spectrum For Everyone Facebook group, who states:
Dean Belfield wrote:I used to work at Software Creations with the Follin brothers, and we've kept in touch since. A year or so ago Tim gave me a box of 3" disks with music source code on, authored on a Tatung Einstein. It's taken me up until now to get my act together, and have finally started copying the files to PC and dumping them on GitHub with their blessing. There's a mixture of Spectrum/Amstrad AY and SID stuff on here, in assembly language. Enjoy.


And here's how Dean did it...

Reheated Pixels - a combination of retrogaming, comedy and factual musing, is here!
New video: Nine ZX Spectrum magazine controversies - How Crash, Your Sinclair and Sinclair User managed to offend the world!
ANDREWRYALS
Microbot
Posts: 106
Joined: Sat Mar 24, 2018 5:02 pm

Re: 'New' (er, old) Tim Follin music, retrieved from Tatung Einstein disks

Post by ANDREWRYALS »

Agent X music - Probably some of his best work??
User avatar
deanysoft
Dizzy
Posts: 75
Joined: Sat Jun 18, 2022 10:35 pm

Re: 'New' (er, old) Tim Follin music, retrieved from Tatung Einstein disks

Post by deanysoft »

This is really interesting for me for a number of reasons. Back in the late 80's, as part of Video Images, we visited Software Creations as we had some projects to tout around - nothing came of it but making contacts in the industry was useful. I wish I could remember exactly who we met but I just can't, however I remember their offices seemed like some old school building or something, not your regular offices anyway. I do recall lots of Einsteins and the chaps there were really friendly and welcoming.

Also, not that long ago, I extracted what I could from my stash of Video Images and Clockwize 3" disks. We didn't really use them to develop on though, that was PCs and PDS, so the stuff on the disks was just screens, graphics, tests, demos and master makers etc. I bought a cable which allows an older PC with an old floppy controller to connect a 3" drive. Then I could read the data from the disks directly to the PC with a piece of software (can't remember the name, not Kryoflux anyway) that does it sector by sector and I could physically lift or change the orientation of the disk in the drive if it read badly until I got good reads. That way I reckon I certainly got as much data off that was readable. I think the disk read program was Samdisk.
User avatar
jpnz
Manic Miner
Posts: 324
Joined: Tue Nov 14, 2017 4:07 pm
Location: Hamilt[r]on - City Of The Future - NZ

Re: 'New' (er, old) Tim Follin music, retrieved from Tatung Einstein disks

Post by jpnz »

Wow - great thread!

Love it when this kind of stuff resurfaces and is rescued old skool style

From the lid of the cardboard box:
Mrs Candle
Loves her dandle,
Dimble damble
One white sandle.
Burgeoning Lennon? :)
User avatar
MarkRJones1970
Microbot
Posts: 180
Joined: Sun Jun 16, 2019 9:31 am
Location: Manchester, UK
Contact:

Re: 'New' (er, old) Tim Follin music, retrieved from Tatung Einstein disks

Post by MarkRJones1970 »

deanysoft wrote: Mon May 08, 2023 10:20 am I remember their offices seemed like some old school building or something, not your regular offices anyway. I do recall lots of Einsteins and the chaps there were really friendly and welcoming.
I've often wondered if their offices are still standing. Fancy having a look around here and see if you recognise it? I work just round the corner from here.
https://www.instantstreetview.com/@53.4 ... 8qX0idYs8g

Their address was:
Software Creations (Holdings) Limited
140 Cheetham Hill Road
Manchester M8 8PZ

I'm just curious if it's still there of if it's been demolished and replaced.
Mark R. Jones

Ex-Ocean Software graphic artist -
Download my FREE PDF 'LOAD DIJ DIJ' (180,000+ words): https://ko-fi.com/i/IG2G3BEJZP
ZX Art page: https://zxart.ee/eng/authors/m/mark-r-jones/
User avatar
Lee Bee
Dynamite Dan
Posts: 1297
Joined: Sat Nov 16, 2019 11:01 pm
Location: Devon, England
Contact:

Re: 'New' (er, old) Tim Follin music, retrieved from Tatung Einstein disks

Post by Lee Bee »

Awesome! Tim Follin is my favourite game music composer :-) So… when might we be able to hear any of this long-lost music?
User avatar
deanysoft
Dizzy
Posts: 75
Joined: Sat Jun 18, 2022 10:35 pm

Re: 'New' (er, old) Tim Follin music, retrieved from Tatung Einstein disks

Post by deanysoft »

MarkRJones1970 wrote: Mon May 08, 2023 4:30 pm ... Fancy having a look around here and see if you recognise it? I work just round the corner from here.
Their address was:
Software Creations (Holdings) Limited
140 Cheetham Hill Road
Manchester M8 8PZ
I had a look around but no, it's so long ago now I couldn't tell you if it was there or not. I wonder if they moved offices - or my memory is ropey - either is as likely!
XoRRoX
Manic Miner
Posts: 233
Joined: Wed Jul 11, 2018 6:34 am

Re: 'New' (er, old) Tim Follin music, retrieved from Tatung Einstein disks

Post by XoRRoX »

I'm hoping that someone will compile the sources of the tunes so we can run it on real hw.
Adrian_Singh
Drutt
Posts: 19
Joined: Tue Feb 19, 2019 12:07 pm

Re: 'New' (er, old) Tim Follin music, retrieved from Tatung Einstein disks

Post by Adrian_Singh »

In terms of music for the Spectrum there doesn't look to be much beyond sound effects and a music editor (which currently crashes) but there are some blocks of data that may be some music which just needs to be coupled with an appropriate player. However I got one of the sources compiled by converting it from the PDS assembler format it is in to the SjASMPlus format....

https://www.dropbox.com/s/aseo2tznvgm6k ... M.zip?dl=0

AGEXM.sna can be played in an emulator.
AGEXM.SRC is the original source which I've concerted to AGEXM.asm whch can be compiled with SjASMPlus.

Given the name of the file is AGEXM I checked out AgentX II and it seems to be the title tune....
Adrian_Singh
Drutt
Posts: 19
Joined: Tue Feb 19, 2019 12:07 pm

Re: 'New' (er, old) Tim Follin music, retrieved from Tatung Einstein disks

Post by Adrian_Singh »

Adrian_Singh wrote: Wed May 17, 2023 4:42 pmconverting it from the PDS assembler format it is in
Actually wrong assumption, the original code was not for PDS but was written for Mike Webb's Z80 Assembler which he developed for the Tatung Einstein and which was apparently used by many other developers...

...is that possibly still available out there?
Adrian_Singh
Drutt
Posts: 19
Joined: Tue Feb 19, 2019 12:07 pm

Re: 'New' (er, old) Tim Follin music, retrieved from Tatung Einstein disks

Post by Adrian_Singh »

Adrian_Singh wrote: Wed May 17, 2023 7:45 pm...is that possibly still available out there?
It would seem so...
https://twitter.com/BreakIntoProg/statu ... 6330212353
User avatar
FrankT
Drutt
Posts: 4
Joined: Tue Jun 27, 2023 10:05 pm

Re: 'New' (er, old) Tim Follin music, retrieved from Tatung Einstein disks

Post by FrankT »

Converted the AgentX2 engine and music to ZXSpin source file.

Removed some padding and unused/redundant entries (commented out). Double 255's for end markers not needed. And extra 0's etc.

Here's the ZXSpin assembly source file: AX2_ENGINE_MUSIC.asm
And a tap file of this compiled source file: AX2_ENGINE_MUSIC.tap

I'd hoped Tim commented his code, but alas no. Trying to figure it out, what does what, how the music data works, what bits/masks for drums/attack/sustain/pitch bends etc. So I can make my own tunes with it, and add the engine to Shiru's 1tracker.
User avatar
FrankT
Drutt
Posts: 4
Joined: Tue Jun 27, 2023 10:05 pm

Re: 'New' (er, old) Tim Follin music, retrieved from Tatung Einstein disks

Post by FrankT »

Managed to work out how it reads the chord music data, and all 11 of the FF parameters for chords. There's envelope with 4 parameters, ININ/INOU value, ATTAK value, DECAY value, SUS+1 (SUSTAIN) value. Echo on and echo off switches. It also selects which of 4 drum tables to use. Three notes for chords, chord note 3 is also used for melody delays in the song data.

Can also switch off individual tracks, bass line, melody line, chord notes 1, 2 and 3, drums. I've been soloing each track to work out the notes by ear easier. And putting them in a Vortex Tracker Turbo Sound project, which has 6 channels, same as this engine. For an AY version of this tune.

Once I've finished putting comments in the source file, and renaming the labels to more 'English' and appropriate names, I'll upload it here. With music data file format documentation.

Might also rip the music data from Chronos once I'm done, and compare the player with this one. I think it might be a little different/updated compared to AgentX2.
User avatar
FrankT
Drutt
Posts: 4
Joined: Tue Jun 27, 2023 10:05 pm

Re: 'New' (er, old) Tim Follin music, retrieved from Tatung Einstein disks

Post by FrankT »

Finished ripping the Chronos engine. Used most of the same labels as AgentX2 source file, changed the channel labels so it's a bit easier to follow.
Chronos engine doesn't have note vibrato, so it's a little less capable compared to AgentX2 engine. Everything else is mostly the same, attack, decay, sustain, echo, portamento, wide/chorus etc. Chronos code is a bit cleaner than the AgentX2 code.

Chronos Engine+Music ZXSpin Assembly
User avatar
Kweepa
Manic Miner
Posts: 311
Joined: Sat Feb 03, 2018 6:14 pm
Location: Albuquerque, New Mexico

Re: 'New' (er, old) Tim Follin music, retrieved from Tatung Einstein disks

Post by Kweepa »

I had no idea the Tatung Einstein was popular in dev circles back in the day!
User avatar
Ast A. Moore
Rick Dangerous
Posts: 2641
Joined: Mon Nov 13, 2017 3:16 pm

Re: 'New' (er, old) Tim Follin music, retrieved from Tatung Einstein disks

Post by Ast A. Moore »

FrankT wrote: Sat Jul 01, 2023 3:39 am Finished ripping the Chronos engine. Used most of the same labels as AgentX2 source file, changed the channel labels so it's a bit easier to follow.
Chronos engine doesn't have note vibrato, so it's a little less capable compared to AgentX2 engine. Everything else is mostly the same, attack, decay, sustain, echo, portamento, wide/chorus etc. Chronos code is a bit cleaner than the AgentX2 code.

Chronos Engine+Music ZXSpin Assembly
Brilliant job!
I would love to see the data structure explained in detail, since I’d like to compose my own music with Tim’s engine. I’m okay with manual editing for the time being, as long as I know which data byte does what.
Every man should plant a tree, build a house, and write a ZX Spectrum game.

Author of A Yankee in Iraq, a 50 fps shoot-’em-up—the first game to utilize the floating bus on the +2A/+3,
and zasm Z80 Assembler syntax highlighter.
User avatar
FrankT
Drutt
Posts: 4
Joined: Tue Jun 27, 2023 10:05 pm

Re: 'New' (er, old) Tim Follin music, retrieved from Tatung Einstein disks

Post by FrankT »

Ast A. Moore wrote: Sat Jul 01, 2023 1:10 pm Brilliant job!
I would love to see the data structure explained in detail, since I’d like to compose my own music with Tim’s engine. I’m okay with manual editing for the time being, as long as I know which data byte does what.
Haven't worked out the music data structure yet, had to start with the player code and ripping Chronos. Have to work backwards when reverse engineering code. The effects for the chord and melody channels are worked out, bass channel has no effects, so will start with a blank song and the bass data, editing the data to see what does what. Tempo and timing is a bit of a mystery at the moment.

I'll get to it tomorrow, got a gig with my band tonight in Margate, won't get home until 3am. Once the data structure is fully worked out, I can try and add it to Shiru's 1tracker. That's my goal.
Gooeyblob
Drutt
Posts: 32
Joined: Sun Nov 08, 2020 4:11 pm

Re: 'New' (er, old) Tim Follin music, retrieved from Tatung Einstein disks

Post by Gooeyblob »

@Ast A. Moore @FrankT
Have you seen this?
https://github.com/ZoomTen/chronos-zxbeeper
User avatar
Ast A. Moore
Rick Dangerous
Posts: 2641
Joined: Mon Nov 13, 2017 3:16 pm

Re: 'New' (er, old) Tim Follin music, retrieved from Tatung Einstein disks

Post by Ast A. Moore »

Gooeyblob wrote: Sat Jul 01, 2023 2:26 pm @Ast A. Moore @FrankT
Have you seen this?
https://github.com/ZoomTen/chronos-zxbeeper
Ha, no, I haven’t. Thanks! Will give it a read.
Every man should plant a tree, build a house, and write a ZX Spectrum game.

Author of A Yankee in Iraq, a 50 fps shoot-’em-up—the first game to utilize the floating bus on the +2A/+3,
and zasm Z80 Assembler syntax highlighter.
Post Reply