Daley is back!

Show us what you're working on, (preferably with screenshots).
Post Reply
mikesitch
Drutt
Posts: 5
Joined: Wed Jan 01, 2020 9:32 pm

Daley is back!

Post by mikesitch »

Daley Thompson's Decathlon was my favourite game but it still had some annoying bits, so I thought why not make it the game I would have loved back then.

Finally I've finished (having taken much longer than I thought). The main update is all 10 events in a single game plus a few other bits.

You can get it here if you fancy breaking a keyboard or two ;)

https://github.com/mikesitch/Daley-Thompson-2020
User avatar
Spud
Manic Miner
Posts: 375
Joined: Sun Nov 12, 2017 8:50 pm
Contact:

Re: Daley is back!

Post by Spud »

Fuse on the Mac doesn't like the loader you've used if you have fast loading and stuff enabled. Once those options are turned off it loads fine. Cool looking loader though, what is it?

Also, great work. The game works really well in the new format, I really like the change to the 1500 meters.

No medal ceremony at the end of 10 events is my only complaint.
User avatar
Ast A. Moore
Rick Dangerous
Posts: 2641
Joined: Mon Nov 13, 2017 3:16 pm

Re: Daley is back!

Post by Ast A. Moore »

If I have some time, I’ll test your loader on real hardware, but keep in mind that such short zero/one pulses will only work for digital audio/high-quality signals and not for tape (due to its bandwidth limitations), and that when outputting to port 0xfe, you need to toggle Bit 6 (right now it’s permanently reset). Also, keep the high-byte of that port outside the 0x40–0x7f range (contention).
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
jpnz
Manic Miner
Posts: 319
Joined: Tue Nov 14, 2017 4:07 pm
Location: Hamilt[r]on - City Of The Future - NZ

Re: Daley is back!

Post by jpnz »

Spud wrote: Wed Jan 01, 2020 11:58 pm ...Cool looking loader though, what is it?...
Looks like z802tzx
User avatar
lister_of_smeg
Microbot
Posts: 145
Joined: Thu Nov 16, 2017 1:44 pm

Re: Daley is back!

Post by lister_of_smeg »

Spud wrote: Wed Jan 01, 2020 11:58 pm Fuse on the Mac doesn't like the loader you've used if you have fast loading and stuff enabled. Once those options are turned off it loads fine. Cool looking loader though, what is it?
That's the loader used by snap2tzx from fuse-utils. Surprising that it doesn't work with the Fuse flashloader :shock:
User avatar
Juan F. Ramirez
Bugaboo
Posts: 5133
Joined: Tue Nov 14, 2017 6:55 am
Location: Málaga, Spain

Re: Daley is back!

Post by Juan F. Ramirez »

It's always great to play DT Decathlon again. Nice.
mikesitch
Drutt
Posts: 5
Joined: Wed Jan 01, 2020 9:32 pm

Re: Daley is back!

Post by mikesitch »

[mention]jpnz[/mention] [mention]Spud[/mention] You are correct, I used z802tzx to convert the sna file produced by SJAMSPLUS. I tested the tzx file in EightyOne and it loaded fine in both slow & fast modes.

Unfortunately the medal ceremony had to be sacrificed in order to get the additional 5 events in. It was one of the last things to go but the pole vault has a lot of large sprites. I plan to rewrite some sections of the game and could use the print buffer etc. to gain some extra space. If that works I'll look to bring the medal ceremony back.
Ralf
Rick Dangerous
Posts: 2283
Joined: Mon Nov 13, 2017 11:59 am
Location: Poland

Re: Daley is back!

Post by Ralf »

It's an excellent, important mod! Great to play.

In the past there would be a lot of talk and excitement about it. So please guys don't talk
about loaders and emulators and just have some play.

I hope it won't get lost among other news and everyone interested in Speccy will know about it.
User avatar
druellan
Dynamite Dan
Posts: 1470
Joined: Tue Apr 03, 2018 7:19 pm

Re: Daley is back!

Post by druellan »

mikesitch wrote: Wed Jan 01, 2020 9:41 pm Daley Thompson's Decathlon was my favourite game but it still had some annoying bits, so I thought why not make it the game I would have loved back then.
Love this. This game has a nostalgic vibe for me, I played it for the first time while sick on bed, and I still remember the first load. I must say, to be able to play all the events on one load is something pretty interesting on itself and a brilliant idea!
User avatar
Ast A. Moore
Rick Dangerous
Posts: 2641
Joined: Mon Nov 13, 2017 3:16 pm

Re: Daley is back!

Post by Ast A. Moore »

Just tested it on my Toastrack and +2A. Couldn’t load it on the former no matter what. This is almost a guarantee that it won’t load on a 48K machine. As I suspected, the loader needs to be reworked.

It loaded fine on the +2A, but I could hear that Bit 6 wasn’t being toggled properly.

I think the game needs a standard TAP loader for emulators (or people with a DivMMC and such), and a properly written turbo TZX one for real hardware, for hassle-free experience.

Game-wise, the graphics for the number keys in the redefine key menu are corrupted.

You’ve done a great job, sir. It just needs some polishing here and there and you can call it a day! ;)
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
R-Tape
Site Admin
Posts: 6397
Joined: Thu Nov 09, 2017 11:46 am

Re: Daley is back!

Post by R-Tape »

Thanks for this.

Did anyone keep stats of their scores from back in the day? I didn't, but I reckon that aged reactions on a modern keyboard will still be faster than youngster reactions on a Speccy keyboard (even a + model). Actually that's a PhD thesis waiting to happen.
User avatar
Alessandro
Dynamite Dan
Posts: 1910
Joined: Wed Nov 15, 2017 11:10 am
Location: Messina, Italy
Contact:

Re: Daley is back!

Post by Alessandro »

R-Tape wrote: Thu Jan 02, 2020 12:52 pmDid anyone keep stats of their scores from back in the day?
Don't know, but on the HARP website you can still find the charts for the Speccy Tour 2008 where Part 2 was one of the games to compete in and of the Regulation play tournament.
mikesitch
Drutt
Posts: 5
Joined: Wed Jan 01, 2020 9:32 pm

Re: Daley is back!

Post by mikesitch »

Thanks for the nice feedback, it's great that Daley is still so popular.

[mention]Ast A. Moore[/mention] Thanks for trying the tzx file, unfortunately my speccy is out of action at the moment (next on my list). I've seen the issue when redefining using the number keys, I'll fix it and release a new version. Will try and add a tap version then.
User avatar
Ast A. Moore
Rick Dangerous
Posts: 2641
Joined: Mon Nov 13, 2017 3:16 pm

Re: Daley is back!

Post by Ast A. Moore »

Cool. Looking forward to it!
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
Kweepa
Manic Miner
Posts: 311
Joined: Sat Feb 03, 2018 6:14 pm
Location: Albuquerque, New Mexico

Re: Daley is back!

Post by Kweepa »

Great idea!
I'm curious to know how you made it happen :)
toot_toot
Manic Miner
Posts: 678
Joined: Thu Nov 29, 2018 7:17 pm

Re: Daley is back!

Post by toot_toot »

This is great, thanks for doing this!

I don't know if it's possible, but it would even better if you could add the AY music from the 128k version of Daley Thompson's Supertest - especially the AY version of the Chariots of Fire theme during the main title screen, which was sorely missed from the Spectrum version of Daley Thompson's Decathlon after playing it on my friend's C64.
mikesitch
Drutt
Posts: 5
Joined: Wed Jan 01, 2020 9:32 pm

Re: Daley is back!

Post by mikesitch »

[mention]Kweepa[/mention] Some notes on how I built the game:

I created disassemblies for days 1 & 2 - here I used my own emulator to record every bit of memory that was read/written to as I played the game. I tried to make sure I covered all aspects of the game, e.g. deliberate false starts, foul jumps etc.

Using the disassembly from day 1 I made sure it built and ran. I created a Visual Studio makefile project which calls sjasmplus to do the compile, and then launch the snapshot in the EightyOne emulator (as it has great debugging support).

Now the long bit:

Started to remove code so I could free up space to bring the new events in. This included entering your initials and the world records, the decathlon image on the title screen (which used a lot of memory), the next event banner and music between events, only showing 1 Ocean banner etc.

Luckily the Javelin event was already in Day 1 as part of the demo, it just needed a few tweaks and it was in. I then removed demo mode to free up a little more space.

1500m - I could use the same code from the 100 & 400 metres and just extend it to 1500 (I wasn't keeping the energy bar).

Start bringing in code from Day 2 for the other events, Discus, 110m Hurdles and Pole Vault. This involved working out where the code was in day 2 and bringing it across into the empty areas bit by bit. Obviously the code looked for sprites/lookup tables etc. in certain memory locations so I needed to correct them to the locations where I had put them. This was quite painful at times and I often had interesting bugs, Daley's legs moving without his upper body springs to mind. Debugging against the original was invaluable.

As I went I took the opportunity to remove anything I thought was unnecessary. For example, in the Discus event when you throw a large discus is shown which spins to the edge of the screen and then it changes to the outer field, so now it just goes straight to the outer field and we can avoid the graphics and code needed for the large discus.

As you can imagine memory was getting ridiculously tight and so unfortunately some areas which I would have liked to keep had to be cut, e.g. the medal ceremony. Maybe one day I can bring this back, there are definitely opportunities to optimise the code in places.

It still amazes what the developers of that time achieved with no internet and crazy deadlines. Just Wow!
User avatar
Kweepa
Manic Miner
Posts: 311
Joined: Sat Feb 03, 2018 6:14 pm
Location: Albuquerque, New Mexico

Re: Daley is back!

Post by Kweepa »

Thanks for the explanation. A true labour of love!
User avatar
druellan
Dynamite Dan
Posts: 1470
Joined: Tue Apr 03, 2018 7:19 pm

Re: Daley is back!

Post by druellan »

mikesitch wrote: Fri Jan 03, 2020 8:57 pm Luckily the Javelin event was already in Day 1 as part of the demo, it just needed a few tweaks and it was in. I then removed demo mode to free up a little more space.
I didn't noticed that! Interesting.
User avatar
bob_fossil
Manic Miner
Posts: 654
Joined: Mon Nov 13, 2017 6:09 pm

Re: Daley is back!

Post by bob_fossil »

Used to love playing Daley Thompson's Decathlon many moons ago. I think having to do the 1500m without the stamina bar might just finish me off now. :)

I've had a go at converting the .tzx file into a .tap. Seems to load okay in SpecEmu in +2 mode using Tape Loader or 48k Basic at least.

http://www.thefossilrecord.co.uk/wp-con ... 0.tap_.zip
mikesitch
Drutt
Posts: 5
Joined: Wed Jan 01, 2020 9:32 pm

Re: Daley is back!

Post by mikesitch »

[mention]bob_fossil[/mention] Thank you for creating the tap file, I've uploaded it onto GitHub too.
User avatar
Spud
Manic Miner
Posts: 375
Joined: Sun Nov 12, 2017 8:50 pm
Contact:

Re: Daley is back!

Post by Spud »

Loads OK here on the MAc/Fuse now in fast loading gubbins mode! Niice!


annnndd also loads up on the ol' DivMMC on the real life Speccy. Niiiiiiiicer!
Post Reply