CPCWiki forum

General Category => Games => Topic started by: xubuntu on 16:04, 08 May 21

Title: Who Ate Rudy's Sandwich? [Game + Video Tutorial]
Post by: xubuntu on 16:04, 08 May 21
I made game and a video for it.

https://www.youtube.com/watch?v=u5xLE09ppqM (https://www.youtube.com/watch?v=u5xLE09ppqM)

The source code is available in the description.

I wanna thank @goksteroo (https://www.cpcwiki.eu/forum/index.php?action=profile;u=2887) for his precious help with the talking bot.
Title: Re: Who Ate Rudy's Sandwich? [Game + Video Tutorial]
Post by: Animalgril987 on 22:21, 08 May 21
Hi @xubuntu (https://www.cpcwiki.eu/forum/index.php?action=profile;u=4155).
The blocks on the tape consist of more than just your program code.
Each block is:
A leader, a 64 byte header, another leader and then 2048 bytes of data.
The leader is 2048 high BITS, one low BIT and a sync byte.


This is why your CDT is significantly larger than the actual program.


Hope this helps. :D


Alan
Title: Re: Who Ate Rudy's Sandwich? [Game + Video Tutorial]
Post by: xubuntu on 07:29, 09 May 21
Thank you Alan!! Nice to know.
I have another question.
I saw in the spectrum analyzer, when you play a wav on winamp for example, that specific frequencies play for specific time and then they change.
And I thought maybe that each frequency is translated to some kind of instruction.
Why do we see specific frequencies playing, and then a mashup (all frequencies) and then again specific frequencies and then again a mashup ?

Title: Re: Who Ate Rudy's Sandwich? [Game + Video Tutorial]
Post by: pelrun on 12:48, 09 May 21
Each 1 bit is represented by a single cycle of a high and low pulse of a specific length; each 0 bit is half the length of the 1 bit. When you get a long run of only 1's or only 0's that sounds like a fixed tone.


The 2048 1 bits that Alan mentions are used by the firmware reading code to precisely determine how long a 1 bit is, and therefore how to distinguish between 1's and 0's even if the tape speed is slightly off (or recorded at high speed with the SPEED WRITE command.)

The firmware manual explains exactly how tape recordings are structured; have a look at http://www.cpcwiki.eu/imgs/5/5d/S968se08.pdf (http://www.cpcwiki.eu/imgs/5/5d/S968se08.pdf) for the gritty details.
Title: Re: Who Ate Rudy's Sandwich? [Game + Video Tutorial]
Post by: Animalgril987 on 12:54, 09 May 21
Hi @pelrun (https://www.cpcwiki.eu/forum/index.php?action=profile;u=1106).
Not exactly twice the frequency, as "precompensation" is used to emphasize the difference between 1s and 0s. :D


@xubuntu (https://www.cpcwiki.eu/forum/index.php?action=profile;u=4155), I have no idea about wav files, sorry, but I'm sure someone on here will be able to tell you. :D
Title: Re: Who Ate Rudy's Sandwich? [Game + Video Tutorial]
Post by: pelrun on 12:59, 09 May 21
Precompensation is used to *ensure* the 0 bits are as close to twice the frequency as possible when played back, as the process of recording to physical tape screws it up a bit. For playing back a CDT from a PC directly into a CPC it's not needed :)


Actually, that probably explains any instances of transfers from CDT to actual tapes being less reliable than original mastered tapes, as the precomp isn't done and the error margin is reduced.