Old Tower

People are still making stuff for the Sinclair related machines. Tell us about new games and other software that runs on the Spectrum, ZX80/ZX81, Pentagon and Next.
User avatar
MatGubbins
Dynamite Dan
Posts: 1238
Joined: Mon Nov 13, 2017 11:45 am
Location: Kent, UK

Re: Old Tower

Post by MatGubbins »

Ah, I think I've found the solution.

I converted your turbo .TZX file with Tape2Wav 1.8 (I use this prgram for all .TAP to .WAV conversions and play the .WAV file in media player to the Spectrum) and found that it creates a .WAV file that is louder than Tapir.
I didn't need to add any extras to the header or gaps between the code blocks.

As per the screenshot
Image

I also boosted your original Tapir .WAV file in Soundforge to match the Tape2Wav volume and that worked too.
It looks as if Tapir is outputting a .WAV file a lot quieter than it should be.

Hopefully solved.
User avatar
Ast A. Moore
Rick Dangerous
Posts: 2640
Joined: Mon Nov 13, 2017 3:16 pm

Re: Old Tower

Post by Ast A. Moore »

Logic-wise, my loader doesn’t need as much time to sync up to the pilot tone. I just tested it with even shorter pilots and everything was hunky-dory.

Looks like the problem is in the analog circuitry. I’m not sure if the problem is inherent in the design on the +2’s tape head amplifier, the cassette adaptor you’re using, or your WinAMP/laptop. It seems there’s something akin to an auto-level adjustment circuitry that kicks in with a rather long relaxation period. It doesn’t like certain amplitude changes and tries to compensate. While it’s doing that, the ULA doesn’t get much in terms of an audio signal.

Could you test the TZX files themselves? How do you normally convert them to audio? Did you have problems with, say, Bleepload-protected games?

Addendum: I just cobbled together my own cassette adaptor (found and old tape head and soldered a lead with a 3.5 mm jack to it). I then held my adaptor head against the tape head in the Datacorder of my +2A and gave my loader a few tries, playing back the audio from my phone. I even played around with the volume setting just to see if that mattered. Everything loaded on the first try; no errors. :?
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
Ast A. Moore
Rick Dangerous
Posts: 2640
Joined: Mon Nov 13, 2017 3:16 pm

Re: Old Tower

Post by Ast A. Moore »

MatGubbins wrote: Fri Nov 23, 2018 12:50 pm Ah, I think I've found the solution.
Cool! Disregard my previous post then. (I had it sitting a few hours before I edited and posted it, so I didn’t see yours.)

Tapir’s output is surprisingly close to what a real Spectrum would produce, but since it’s operating entirely in a digital domain, the amplitude is limited by your device’s output voltage/impedance, which, in modern equipment, is quite skimpy, compared to that of the ’80s.

Thanks again for your time and patience!
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
DenisGrachev
Dizzy
Posts: 88
Joined: Fri Feb 09, 2018 2:32 am
Location: Novosibirsk, RU
Contact:

Re: Old Tower

Post by DenisGrachev »

Nice loader! Did you compress data or just increase loading speed?
User avatar
Ast A. Moore
Rick Dangerous
Posts: 2640
Joined: Mon Nov 13, 2017 3:16 pm

Re: Old Tower

Post by Ast A. Moore »

DenisGrachev wrote: Mon Nov 26, 2018 9:40 am Nice loader! Did you compress data or just increase loading speed?
Thanks!

I only compressed the loading screen. The rest is uncompressed but the data rate is about 3x the standard ROM loader. It’s also more compact than the ROM loader, and can load only specific data blocks. Aside from ignoring the “wrong” high-speed data blocks, I also fine tuned it to ignore the standard pilot tone or long sequences of ones and zeros, so the they wouldn’t trigger it, either. A fairly robust beast all around. ;)

I could make it even faster, but that would require testing it with real tapes (ideally of the poorer quality) and low-end tape players, to simulate a typical loading setup of the 1980s. The Spectrum’s ULA and analog filtering circuitry can handle fairly high data rates. The real bottleneck is the tape medium itself: the amplitude will drop dramatically (depending on the tape’s type and quality) as the frequency goes up. Besides, many cheap-o tape players had a cutoff frequency of about 6 kHz or even lower, so at least theoretically, my loader operates at the upper limit of what would have been possible back in the day.

A typical Type I ferric oxide tape can go up to, oh, say, 8–12 kHz. My loader peaks at about 6.3 kHz—well within the tape’s frequency range. These latest tests by Matt on his +2 and by me on my +2A demonstrate that the built-in datacorders in these machines are easily capable of loading data at the rate offered by my turbo loader. Whether the rate can be safely increased is subject to long and rigorous tests, which I’m not inclined to perform at the moment.

Still, three minutes for a fairly fat 128K game isn’t that bad, if I do say so myself. :D
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
stupidget
Dynamite Dan
Posts: 1611
Joined: Wed Jan 24, 2018 2:09 pm
Location: Sunny Wolverhampton

Re: Old Tower

Post by stupidget »

Finished this ,frankly brilliant game, earlier today without any bugs or crashes.

Image
User avatar
R-Tape
Site Admin
Posts: 6353
Joined: Thu Nov 09, 2017 11:46 am

Re: Old Tower

Post by R-Tape »

stupidget wrote: Sat Dec 01, 2018 7:17 pm Finished this ,frankly brilliant game, earlier today without any bugs or crashes.
Top stuff. Only one life lost? Did you play on bread and water, or POKE it? If the latter, did you BREAK the loader to do so?
User avatar
stupidget
Dynamite Dan
Posts: 1611
Joined: Wed Jan 24, 2018 2:09 pm
Location: Sunny Wolverhampton

Re: Old Tower

Post by stupidget »

R-Tape wrote: Sat Dec 01, 2018 8:47 pm
stupidget wrote: Sat Dec 01, 2018 7:17 pm Finished this ,frankly brilliant game, earlier today without any bugs or crashes.
Top stuff. Only one life lost? Did you play on bread and water, or POKE it? If the latter, did you BREAK the loader to do so?
I played it on my +2 using a DiVMMC so i took lots of snapshots 😀
User avatar
Ersh
Manic Miner
Posts: 480
Joined: Mon Nov 13, 2017 1:06 pm

Re: Old Tower

Post by Ersh »

At last I had some time to sit down and play this properly. What can I say, it's simply great, not only the silky smooth multicolour scrolling tech and nice pixelart but the gameplay as well. The game design is also superb. For instance; I love how it introduces the 'switch-character' mechanic, the two are placed in separate rooms so when you've collected everything with the first character and got nowhere else to go, you look at the other room, notice the other character and try the fire-button, no instructions needed, just great! Had a lot of fun completing this. Great job!

Edit: Oh and also the pacing was excellent, having some more action-oriented levels after a particularly taxing puzzle level. Helps with the motivation.
User avatar
DenisGrachev
Dizzy
Posts: 88
Joined: Fri Feb 09, 2018 2:32 am
Location: Novosibirsk, RU
Contact:

Re: Old Tower

Post by DenisGrachev »

ok, here is another one quick and dirty way to edit a levels in old tower
http://www.retrosouls.net/zx/!otCustom.zip

edit with charpad run a build.bat, enjoy a show!
there is a limitation with number of coins,enemies,guns and heroes on level, do not remember it right now.

kudos!
User avatar
Ersh
Manic Miner
Posts: 480
Joined: Mon Nov 13, 2017 1:06 pm

Re: Old Tower

Post by Ersh »

That's bloody brilliant Denis! :D Thanks for all your hard work!
User avatar
DenisGrachev
Dizzy
Posts: 88
Joined: Fri Feb 09, 2018 2:32 am
Location: Novosibirsk, RU
Contact:

Re: Old Tower

Post by DenisGrachev »

Upload an Old Tower sources, as is:

http://www.retrosouls.net/zx/!otSrc.zip

have fun!
User avatar
Einar Saukas
Bugaboo
Posts: 3070
Joined: Wed Nov 15, 2017 2:48 pm

Re: Old Tower

Post by Einar Saukas »

DenisGrachev wrote: Wed Jan 16, 2019 5:36 am Upload an Old Tower sources, as is:

http://www.retrosouls.net/zx/!otSrc.zip

have fun!
That's awesome, thank you!!!

Hopefully your example will motivate more developers to release their source codes too!!!
User avatar
zedex82
Drutt
Posts: 21
Joined: Tue Nov 27, 2018 3:49 pm
Location: Herefordshire

Re: Old Tower

Post by zedex82 »

This gane is mint.

Not much else to say :)
User avatar
DenisGrachev
Dizzy
Posts: 88
Joined: Fri Feb 09, 2018 2:32 am
Location: Novosibirsk, RU
Contact:

Re: Old Tower

Post by DenisGrachev »

In case you missed we made a port to Sega Genesis\Megadrive with new levels and gfx.

https://retrosouls.itch.io/old-towers

https://youtu.be/otnIIrQYpbU

Cheers!
Post Reply