ITTS (DCC text) reimplementation

I was looking for a good way to map ITTS into something more usable, I found kaitai.io, it is a versatile binary format description language that fits my needs nicely.
I am trying to keep the names as close to the standard as possible.
Sneakpeak to the beginning of the header, which is identical for all application items: image
I already noticed something weird, bit 7 of the demo ITTS headers is 0 on some packages (I called it reserved 1), but it would have to be 1 to comply to the standard: “Default (must be set to 1 to identify the packet format according to this standard)”.

I am wondering if they are displayed or if it is some kind of internal comment.

For example is the final package “DEMO MODE_2 VIDEO ITTS BOX C.v.d.Bergh” being displayed?

Do commercial DCC releases also contain ITTS packages like that?

Even more progress from now on. New theory, the bit is used to seperate between demo 1 and demo 2. The demo is solely in 40 line 40 character text mode (1 and 2 line enabled). Except for the control characters, I assume the same for every commercial release. I will finish it first and after that I will need to send @drdcc an S/PDIF capture device for the one and only frog.

As I already mentioned I would appreciate a capture of both demos, to compare.

@max.

We have done 2 different topics / video about itts and lyrics.

and

Can you explain in more detail what you would like to see. If I do not have it, I could film it.

Ralf

Interesting, Max! What device are you planning on sending? Something you bought, or something you made yourself?

===Jac

I appreciate your videos! I would like to see both demo modes via the switch on the back in all three line modes as I am currently testing with them, extracted from @Jac’s dump. Of course there is no hurry.

I will use the STM32F769I-DISCO (which I explained earlier, see below) to build a recorder to the SD card with a touch interface. There is little documentation, but it is definitely supported: “Communication using DMA for control and user channel information”. Do you have any better idea for hardware?

Hi,
I will shoot a video with my phone using a DCC with lyrics, showing the different lines.
The demo mode switch on the back is of no importance as this will just show random text that you can’t control.

Ralf

2 Likes

But I am currently working on data of the demo modes, of course it is not the goal to emulate it, but a start I am getting closer to.

Hi @max,

Attached the link to 4 video files:

I mistakenly thought that some cassette would show line 1 and 2, but like @Jac said, they do not.
Except for the Supertramp demo album and Sonos Sampler. They do show 2 lines as well.

Video 4566 Scorpions; only show 21 lines on the ITTS Box (same for the other commercially released albums that have lyrics info.
Video 4567 Supertramp Sampler ; will work on 2 and 21 lines on the ITTS Box and also on the DCC730/951
Video 4568 Kermit Sampler; only shows 21 lines on the ITTS Box
Video 4569 Sonos Sampler; will work on 2 and 21 lines on the ITTS Box, but will not show the lyrics on the DCC730/951

1 Like

No, I don’t. I’d be interested in seeing what you’re making!

===Jac

1 Like

Perfect, but could you add that demo modes as well, as I am currently working with them (because I have them already from the dump), just to enable me to compare font, color, alignment and so on?

A general update, I will need some time to think how I will best deal with the control characters. My goal is an abstraction layer between the binary format and a display logic. The body subsection is not identical with body in the standard, it’s just how I call the part of the package depending on the package type.

image

Now I know for sure, that it is not based on videotext in any way and is likely just using the OSD mode of the videotext IC.

If anyone is interested, this is my small start. It can be viewed, edited and used on ide.kaitai.io. I will push it to a public repository, when I am finished with the start. The demo.itts is just the 100 ITTS packages from the demo concatenated extracted from the dump. itts_concat.ksy is for that “format”.

demo.itts (4.7 KB)
itts.ksy (1.5 KB)
itts_concat.ksy (120 Bytes)

I will need to think about how to store timing and at least volume of the audio to be able to store and use it synchronously. Maybe adding a custom extension to a container like ogg or mkv is the way to go, I am not sure yet.

I am by no means an expert, it is my first time with a binary format, with microcontroller development except Arduino and virtually anything else related. Any help/ideas/contributions/critisisms are always appreciated!

@Jac I hope you don’t mind me ‘stealing’ this subject from you, without your groundwork this wouldn’t be possible.

I activated it, but nothing on the screen anymore.
I have asked @Jorn to make a short movie of his one.

1 Like

What about 1 line, is that supported by none of the tapes you mentioned? Could 1 line ITTS be the 3rd gen lyrics?

Hi,
None of the tapes worked with one line. Even the Supertramp demo tape that does work with 2 lines AND on the DCC730 and 951.

What I do not understand is that the Sonos Sampler is the only commercial tape that also works with 2 lines and 21 lines (next to the Supertramp), but does not work on the 730/951.

1 Like

Will do, video of the itts in demo mode

2 Likes

Here the video of demo 1

2 Likes

Thanks @jorn

Thank you!

Only the artist name in the title overview and some styling has reserved1 1. No idea why, I will ignore it for now, as the rest are otherwise valid ITTS packages.

I’m pretty sure that’s how the ITTS box does it: by letting the microcontroller use I2C to use the OSD feature. I haven’t had a good look at how the MCU and the Teletext chip are connected, and I haven’t had a good look at the datasheet of the Teletext chip either. I wonder if there’s a limitation to where OSD text can appear, and if that’s why the text is so low on the screen; I think it displays the ITTS line 1-21 on lines 5-25 of the Teletext page (yes Teletext only has 24 lines but the display probably uses 1KB of memory which is slightly more than 40x25 characters).

I’ve been thinking of how to store a DCC dump, and I was thinking of just interleaving PASC frames with other data, formatted in some format that’s compatible with e.g. ID3 or something. But using an existing container format is possibly an even better idea. I wonder if those formats already accommodate ITTS? Maybe the folks in the MiniDisc universe already have a standard format for container-ing MD dumps with text information? We do have potentially more information to store though, I don’t know yet. Not all of SYSINFO/AUXINFO is ITTS.

No problem, and you’re welcome!

===Jac

2 Likes