UPDATE: RIDONCULOUS HACKING to obtain EPG-info via an old tuner, scroll down a bit...
Whelp, there's a pretty-durn-good find, if I say so...
Sitting in the laundry room atop the donation-bin...
Apparently the only things wrong with it are:
A) Batteries leaked in the remote... non-functional until a thorough cleaning
B) Stand is extremely wobbly, touching the on-screen buttons has no effect without grabbing the display from behind for support.
C) The Menu interface is funky... but I think I'm getting the gist.
D) NO EPG!!! How the hizeck am I supposed to plan my day?
Hack-Potential: My digital-receiver I use for my CRT has a serial port hidden in the case... and as I recall the thing actually outputs the EPG-info when it's received... hmm...
-----------
So... yeah... That's *way* outta my budget... 22in, no less... biggest non-CRT in my collection by a good 4 inches. Should I replace my 33in TV? Gain some surface-space? Maybe even hang it on the wall?
Crud, do I understand these newfangled resolution-standards correctly? 1080p = 1920 x 1080? Lessee, my 18incher is 1280x1024, my SGI is 1600x1024... dagnabbit, TV or desktop? Maybe both... sheesh...
Financially, I should probably sell the thing... oy, do I understand this correctly, too? You can buy a screen of this size/resolution for less than $150 new?! Man, how times've changed.
Whelp, some thinking to do, I guess... And now I've got HDMI to go with my new Raspberry Pi Zero!
--------
RIDONCULOUS HACKING:
So, Best I Can Tell, from pressing of 'all the buttons' the best you can get with this TV is a listing of the *current* show, and a description about it. But, no info about what shows are coming up in the future...
So, I've got a "Digital-Stream" Digital-Tuner I've been using for my old CRT, and it happens to have a serial port on-board that I, of course, hacked into the day I got the thing. I got some drawings/test-patterns and even text ('sm_printf', no less!) displayed on-screen a while-back. Pretty cool what can be done with this thing via the serial-port!
I wrote down all my experiments... it takes a bit to get 'sm_printf' working, including stopping the video-playback, as I recall, but it does work.
(Apparently, someone else came up with a pretty in-depth analysis and an awe-inspiring level of hackery, but not the info I'm currently looking for)
There's lots of debug-data, and also a Mini-Shell... typing '?' causes a listing of a bunch of functions which can be called... Debug-wise, whenever new EPG info is downloaded, it shows an update, but does *not* show the info. It's taken a bit of experimenting with a bunch of the functions... but there is, in fact, a way to dump that info to the serial port... The *obvious* one would be 'epg_list', but executing that causes a listing of basically only the channel numbers and whether or not the EPG-data has been downloaded.
So I went through the list of 232 functions, looking for others... There're a couple really obvious looking ones such as 'PrintEit' and 'PrintEtt'... I dunno what an Eit or Ett is, but whenever there's an EPG-table update, it mentions Eit[#]:
[APP tEpgSca 49] 0142 ******** epgEventEitReceived, Eit[6], 8/8 tables [APP tEpgSca 49] 0142 ******** epgEventEitComplete, rf 39, subch [2] source id 3 [APP tEpgSca 49] 0143 ******** epgEventEttReceived, Ett[0][1], 1/43 tables [APP tEpgSca 49] 0144 ******** epgEventEttReceived, Ett[0][2], 2/43 tablesso thought I'd try those Print* functions... and the whole thing rebooted.
Interestingly, it actually shows an disassembly-listing of where it crashed... pretty cool, but beyond me at the moment, and not particularly necessary. Here's a sample, 'cause I think it's cool anyhow:
>[DATA ABORT:4] at 0x0ed2a0(Task tcb:0x2423c4, miniShe ), uptime 1737769 ms << >> Program counter at Exception : 0x000ed2a0 .... 000ed294 ebffbe1a BL 0xdcb04 == OS_DbgPrintf()+0x0000 000ed298 e5953004 LDR r3,[r5,#4] 000ed29c e1a04286 MOV r4,r6,LSL #5 ** 000ed2a0 e19410b3 LDRH r1,[r4,r3] 000ed2a4 e59f00c4 LDR r0,0xed370 000ed2a8 ebffbe15 BL 0xdcb04 == OS_DbgPrintf()+0x0000 000ed2ac e5953004 LDR r3,[r5,#4]
Anyways, I went through *all* the other functions one-by-one looking for other such things... Found a few that looked promising, but nothing did the job.
So finally went back to that *most-obvious* 'epg_list' and tried a bunch of arguments... getting exactly the same listing of merely the channel numbers and whether the EPG's been downloaded.
Shell> epg_list <various arguments, e.g. '0', '0 0'> MiniShell: [epg_list] call function of '0x0008cf8c' Dmc_EpgPrintAllTables (id 0, source_id 0) ==== Summary List of all EPG ==== (0) id 9, num subch 3, 7 sec [0] source id 1, 9-1 [K***-HD], #3, active, 7 sec, Incomplete!! [1] source id 2, 9-2 [Vme], #4, active, 0 sec, Incomplete!! [2] source id 3, 9-3 [Create], #5, active, 0 sec, Incomplete!! (1) id 39, num subch 3, 105 sec [0] source id 1, 7-1 [K***-DT], #1, active, 38 sec, Completed [1] source id 2, 7-2 [K***-SD], #2, active, 28 sec, Completed [2] source id 3, 7-3 [K*** 3], #3, active, 37 sec, Completed call 0x8cf8c result = 0x0 (0) [BASIC TASK] cmd(25), subCmd( 0) [MW EA] Monitor Start
Looking more closely, I realized I wasn't using the *right* arguments. Right... Obvious... "(id 0, source_id 0)" shoulda been enough to get it...
Shell> epg_list 39 3 MiniShell: [epg_list 39 3] call function of '0x0008cf8c' Dmc_EpgPrintAllTables (id 39, source_id 3) Print EPG Tables of Ch 39, Subch 0.. [2] source id 3, 7-3 [K*** 3], #3, active, 37 sec, Completed MGT : 0x32dad4, ver 17 preMGT : 0x328c54, ver 17 TVCT : 0x328bd4, ver 0 STT time: 0x4542c3c1, (2016/11/1 Tue 11:43:00 [tz+9]) EIT-array : 0x43aca4 ...ETT-v : 0x32a054 ETT ETM_id 00030000, event 0, ver 17 (eng) Address ...EIT-0 : 0x2f93b4 (pid 0x1d00) ETT-array: 0x2f92c0 EIT source_id 3, ver 17, 6 events event[0]: id: 0x0039, 11/1 9:00:03 ~ 9:30:03, ETM 1 (ThisPTC) (eng) Roseanne (eng) To celebrate Halloween, their favorite holiday, the Conners invite friends and family members over to help them transform their home into the scariest house on the street; Dan and Roseanne become engaged in an escalating prank war. event[1]: id: 0x003A, 11/1 9:30:03 ~ 10:00:03, ETM 1 (ThisPTC) (eng) Roseanne (eng) Roseanne learns a lot about the opposite sex when her lumberjack costume for a Halloween party turns out to be a little too convincing; Dan grows upset when he learns that D.J. wants to dress up as a witch for Halloween.
Cool!
So, am-thinkink: I can have a script running that tests 'epg_list' until it says "Complete". Then, flip to the next station, and do the same... It'll continuously cycle through the channels downloading the lists... Then I could e.g. connect it to my computer and make a little script that'll show a listing of only the times and show-names, but then can get more info about the particular show if I want to... yahknow, kinda like a "TV-Guide"... and... wait, doesn't that exist on the internet?
WEEE!
So that was the first step of ridonculosity-realized.
The next step was... "Well, I'd really rather see it *on* the (new) TV... how can I do that?"
(I'll need a remote to browse the list... we'll come back to that once I've figured out this other stuff...).
So then I'm thinking... well, I could either A) see whether there's a serial port in the TV with such an open UI as this one, maybe so sophisticated I could actually "printf" straight to the screen... But, the level of openness of this guy is *shocking* to me, so I doubt the TV would, as well...
So, other options...?
Spose I could connect something like a PiZero to the HDMI input, or even composite....
Oh Snap. Composite.
Right...? The friggin' Digital-Tuner has all this functionality built-in with a composite output and a remote.
Ridonculosity-2-realized.
---------
Only annoyance, then, is that I'll have to use two different remotes, and change channels twice, but yahknow... (OTOH, now I have two DTV tuners... I could record one show and watch another at the same time!)
Ridonculosity-3-realized: Yeah, I could just look up TV-Guide.com or whatever... But that's not the same. Using the remote is much more comfortable.
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.