ITTS (DCC text) reimplementation

ITTS is super complicated. I speculate that the original idea was basically to generate teletext pages and then all kinds of extra stuff got added.

I’m looking forward to seeing your project! But I would use a teletext font. You can find some on https://galax.xyz but there are others. I don’t know if they support the Japanese characters but three may be other teletext fonts available elsewhere.

By the way you should have started a new thread :slight_smile:

=== Jac

According to some documents the teletext decoder is supposed to be used only in early 21-line decoders, later models should be different. They may have never existed, but I think a different font would have been in the realm of possibility.

Thank you for the link of fonts, I will look through them at some point.

To be honest, the Japanese and Korean characters have the lowest priority of all actually existing features for me, especially if I switch to custom sprites when I port it to SDL2 (which would enable stand-alone ITTS boxes).

I separated the thread at the point where it no longer matched the title, hope you like it.

1 Like

I have to conclude that a decoder based on IEC 61866-1997 would not work on the demo data. The 21-line code (line number for 21-line displays like the ITTS box) does not make any sense at all, and the lines are just drawn consecutively, including lines of spaces for empty lines.

But I understand everything else in it, have a solid basis for a quick demo in PixiJS, so a proof of concept for the four pages can be expected in the next month (maybe even less).

I have to say ITTS is by far the worst part of all DCC software. I blame no-one for “mistakes” on working with it, even more so if it was obscured behind a layer of software and handwritten cards before it. I guess I won’t bother to implement much further than the ITTS box unless we find some packet using an unused feature on a DCC. 1-line lyrics would be straight-forward, but if it was not available as a checkbox, I can’t blame anyone. With my DCC imaging plans (far future) we could dump commercial albums, patch it and restore them onto blank tapes or design custom ITTS for the first new prerecorded tapes since the end of DCC.

@Jorn @drdcc Are the cursor buttons and the enter key ever used for anything you know?

1 Like

Will check this later

2 Likes

Theoretically they could be used for interactive menus, to select a different program than available on a button, but I have never heard of such. It doesn’t have to be a priority for you, but this is how you could help me with ITTS.

Hi,
They do work, and you can select within the menu and press enter. From memory, most menu buttons lead to hardware buttons already on the box, but Some tapes (Supertramp) have more menu options that are accessible only via the scroll and enter.

1 Like

Thank you! Will implement them later, in Pixi probably just by enabling clicking on the entries.

Can you show them used, how are selected elements highlighted? Is it the same on all tapes or customizable?

With enough memory of the ITTS decoder simple adventure bgames compliant with the DCC standard could be a thing. How does that sound?

The same for all tapes. I am not in front of the box. Will have to do it when we return.

1 Like

I have send a shared dropbox as the file was large.
Ralf

1 Like

I was trying to make it working automatically theoretically with any file for ITTS packets, but the demo ITTS sectional is just too weird as for @Jorn only demo 1 works and for @drdcc if I remember correctly no demo mode works at all.

For the first version, I’ll use fixed offsets for the programs that Jorns demo shows and I am trying to render them accurately and treating them exactly the same.

1 Like

it’s correct that only one demo is working.

2 Likes

Never in my life was a stripe of colors as exciting as this one:

This is the line of “on DCC” from the first demo picture.

2 Likes

Heh I remember when I first saw the front panel of my DCC730 send “PHIL-0001-NL-951/730 DDU2113 U032” to the drive. I bet yours was a similar experience. :smiley:
Great work!

===Jac

1 Like

And here is the next iteration. It is pretty recognizable now despite some clearly visible issues of yet unknown cause.

This confirms that I got the character size and the resolution right. The height of the lines is also spot-on.

I think I’ll call it ITTS.js (naming scheme of many JavaScript applications), version 0.0.1 will be released soon for everyone to try in their (modern) browser with buttons like on the ITTS box. The demo pages will look near perfect, which is not always like the ITTS box displays them.

@drdcc Do you want it for the collection, or is it reserved for physical objects?

2 Likes

Very nice for the dcc museum. I do not know what you mean with physical objects.
Ralf

2 Likes

Until now, no software is listed in Collection | DCC Museum. If you like we could add it and have a copy linked. I see it as a special similar to the @Jorn Cassette Mod as it pushes forward the understanding in a similar way. But you are the curator.

1 Like

We can truly make that decision upon completion only.

Looking forward seeing it finished.

3 Likes

Short technical info: I do not use kaitai.io in ITTS.js. However, it was useful for getting started.

The control and double-width characters do normally count in the position of the text. I expected it and implemented it otherwise. This means it is impossible to let a changed background color start with the first color in it. The control character for the background color will be rendered as a space with that background color. The same goes for the text color at the beginning of a line. That is why we see spaces without text at the start of lines.

The overview and the tracklist of the demo contain empty lines for which I could not find any value to explain this behavior as the 21-line line numbers of the demo do not make any sense.
Thus, it is most likely located somewhere else in the ITTS box code. I will add the empty lines in the overview, as it does look right on the video. However, the tracklist is 20 lines long and fits the four popular tracks, too and the spacing on the rendering of the ITTS box is uneven. Hence I won’t add any lines to it.

Here is my perfect rendering of the background of the first page. This time it is not as a screenshot but properly saved:
image

2 Likes

Hi Max,

The picture looks promising, on some detail I can’t follow you.
That’s because I’am not familiar with it.

Can’t wait the see the end results.

Now ITTS.js is a 21-line ITTS decoder :partying_face:! I think I can release it tomorrow.

image

The double-width character section contains extra spaces that will be ignored to keep proper alignment. Double width “DCC” is stored as "D C C ".

4 Likes