Author Topic: Who Ate Rudy's Sandwich? [Game + Video Tutorial]  (Read 657 times)

0 Members and 1 Guest are viewing this topic.

Offline xubuntu

  • CPC464
  • **
  • Posts: 27
  • Country: gr
  • Liked: 7
  • Likes Given: 1
I made game and a video for it.


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

The source code is available in the description.

I wanna thank @goksteroo for his precious help with the talking bot.
cpc power

Offline Animalgril987

  • Supporter
  • CPC6128
  • *
  • Posts: 176
  • Country: gb
  • Liked: 83
  • Likes Given: 199
Re: Who Ate Rudy's Sandwich? [Game + Video Tutorial]
« Reply #1 on: 22:21, 08 May 21 »
Hi @xubuntu.
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

Offline xubuntu

  • CPC464
  • **
  • Posts: 27
  • Country: gr
  • Liked: 7
  • Likes Given: 1
Re: Who Ate Rudy's Sandwich? [Game + Video Tutorial]
« Reply #2 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 ?

cpc power

Offline pelrun

  • Supporter
  • 6128 Plus
  • *
  • Posts: 751
  • Country: au
    • index.php?action=treasury
  • Liked: 433
  • Likes Given: 265
Re: Who Ate Rudy's Sandwich? [Game + Video Tutorial]
« Reply #3 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 for the gritty details.
« Last Edit: 12:55, 09 May 21 by pelrun »

Offline Animalgril987

  • Supporter
  • CPC6128
  • *
  • Posts: 176
  • Country: gb
  • Liked: 83
  • Likes Given: 199
Re: Who Ate Rudy's Sandwich? [Game + Video Tutorial]
« Reply #4 on: 12:54, 09 May 21 »
Hi @pelrun.
Not exactly twice the frequency, as "precompensation" is used to emphasize the difference between 1s and 0s. :D


@xubuntu, I have no idea about wav files, sorry, but I'm sure someone on here will be able to tell you. :D

Offline pelrun

  • Supporter
  • 6128 Plus
  • *
  • Posts: 751
  • Country: au
    • index.php?action=treasury
  • Liked: 433
  • Likes Given: 265
Re: Who Ate Rudy's Sandwich? [Game + Video Tutorial]
« Reply #5 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.
« Last Edit: 13:02, 09 May 21 by pelrun »