Absolute mad lad renders Doom in teletext
- Reference: 1685531416
- News link: https://www.theregister.co.uk/2023/05/31/doom_teletext/
- Source link:
Last we heard from the seminal first-person shooter source code, it had appeared as a farmer-themed mod running on [1]jailbroken tractor hardware from John Deere as part of a demonstration on security (or lack thereof). "Turns out our entire food system is built on outdated, unpatched Linux and Windows CE hardware with LTE modems," it was noted at the time.
This latest project, however, brings together two titans of the early 1990s. How about Doom on teletext? OK, teletext cannot run Doom . But it can render it. Kinda. Is it playable? We'll let you be the judge.
[2]
[3]Youtube Video
[4]
[5]
As the mod's developer, [6]lukneu on GitHub , states: "Since teletext is based on unidirectional data transmission, it is not possible to actually run DOOM in teletext. However, running the original game on some device that also generates a teletext page which holds the scene is just as fine. The packages sent by doom-teletext hold the teletext rendering of the current game frame, as well as a status bar that informs about the current state of the player. In detail, the status bar shows information like owned weapons, ammunition, health status, and a graphical representation of the protagonist's face. Also the whole game menu was rebuilt for rendering in teletext."
Rendering works thus:
Characters in graphics mode can display sixels, which means that each cell is divided into 2*3 regions, let's call them pixels, that can be empty or filled.
Therefore, we have 39 * 2 = 78 pixels in width for displaying graphics in contiguous mode, and 38 * 2 = 76 pixels in width for separated graphics mode.
DOOM's original resolution is 320*200 pixels, therefore it is not possible to show all of them on a teletext page, but 4*4 pixels of DOOM have to be combined into a single teletext-pixel. To determine if the pixel in teletext is black or white, the brightness of the 16 DOOM pixels is considered.
Summarized, we can use 78 * 4 = 312 pixels width of DOOM in contiguous graphics mode and 76 * 4 = 304 pixels width of DOOM in separated graphics mode to consider for the rendering in teletext. The missing 8, respectively 16, pixels of width are cropped from the original rendering area on the left and right sides.
While the original rendering is cropped on the left and right sides, we can show the whole height in 17 lines as 200 / 4 = 50 and 50 / 3 = 16,67.
In total, the resolution of the gameplay rendering in teletext is 78 * 50 in contiguous graphics mode and 76 * 50 in separated graphics mode.
[7]Doom QA testers form Microsoft's first labor union in the US
[8]Oh Deere: Farm hardware jailbroken to run Doom
[9]From cash machines to commercial kitchen appliances, Doom really will run on almost anything
[10]Doom Eternal : Reboot sequel is cluttered but we're only here for the rippin' and the tearin'
Those who have seen too many winters will be well aware of teletext – a standard developed in the UK in the '70s for displaying text and basic graphics, usually news and sports results. The BBC launched its take as Ceefax in 1974 followed by other major broadcasters across Europe. The service persisted into the 2000s until it was driven to extinction in the UK by the widespread adoption of digital television.
Affection for teletext lingers, however, as we saw with Nathan Dane's full-blown [11]replica of Ceefax , which takes information from BBC websites and displays them as though we had accidentally pressed the text button on our analog TV's remote.
[12]
doom-teletext was "developed, built and executed" on a Linux machine, though the author notes: "As the window is created with the cross-platform library Simple DirectMedia Layer, there should not be that many obstacles when porting to another system."
Only the original 1993 Doom and its shareware WAD are supported. "For other WAD files, especially those that have modified the look of the status bar or renamed levels or difficulty settings, adaptions in the code need do be done. (If you are interested in this, pull requests are welcome!)"
There are even instructions for playing the game with a TV remote, if you are so inclined, and actually still have one of those fathoms-deep ye olde televisions gathering dust in the garage.
[13]
If you actually want to try it or contribute, this is possibly necessary. "Bear in mind that many modern TVs seem to struggle when updating teletext pages. My LG TV built in 2015 cannot run more than 3(!) FPS smoothly ... while my FUNAI tube television handles more than 30 FPS like a champ." ®
Get our [14]Tech Resources
[1] https://www.theregister.com/2022/08/16/john_deere_doom/
[2] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_offbeat/front&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=2&c=2ZHdvFeUcPm9aVh1OdBQl0gAAAAE&t=ct%3Dns%26unitnum%3D2%26raptor%3Dcondor%26pos%3Dtop%26test%3D0
[3] https://www.youtube.com/watch?v=rIgQV4ClmQ0
[4] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_offbeat/front&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=4&c=44ZHdvFeUcPm9aVh1OdBQl0gAAAAE&t=ct%3Dns%26unitnum%3D4%26raptor%3Dfalcon%26pos%3Dmid%26test%3D0
[5] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_offbeat/front&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=3&c=33ZHdvFeUcPm9aVh1OdBQl0gAAAAE&t=ct%3Dns%26unitnum%3D3%26raptor%3Deagle%26pos%3Dmid%26test%3D0
[6] https://github.com/lukneu/doom-teletext
[7] https://www.theregister.com/2023/01/04/microsoft_zenimax_union/
[8] https://www.theregister.com/2022/08/16/john_deere_doom/
[9] https://www.theregister.com/2021/04/23/doom_oasys_retro_computing/
[10] https://www.theregister.com/2020/04/10/doom_eternal/
[11] https://www.theregister.com/2022/01/06/ceefax_replica/
[12] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_offbeat/front&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=4&c=44ZHdvFeUcPm9aVh1OdBQl0gAAAAE&t=ct%3Dns%26unitnum%3D4%26raptor%3Dfalcon%26pos%3Dmid%26test%3D0
[13] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_offbeat/front&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=3&c=33ZHdvFeUcPm9aVh1OdBQl0gAAAAE&t=ct%3Dns%26unitnum%3D3%26raptor%3Deagle%26pos%3Dmid%26test%3D0
[14] https://whitepapers.theregister.com/
Bad Apple was done on Teletext.
Admittedly running on a BBC Micro for audio - https://www.youtube.com/watch?v=22y_aiOx9CY
Impressive? Yes. Playable? No
The rendering is surprisingly fluid on the demo video, but the poor resolution and black&white display would make it very difficult to play once you've passed the first levels, unless you're so familiar with the game that you could play with your eyes closed. Monsters are only visible in close range and items such as locks and keys hardly at all.
Still, as a wise man said: 'Completely useless, so absolutely necessary!'
Re: Impressive? Yes. Playable? No
The monsters would be easier to see if they were in colour. The main problem there would be that- if my ancient memories of the BBC Micro's Teletext mode are correct- the colour attribute changes would gobble up a single character space on either side (i.e. one "to" the monster's colour and one back "to" wall colour).
Have one of these -->
Totally useless and yet totally awesome.
I love it when people with some spare time do wacky stuff like this.
It was driven to extinction
It may have been driven to extinction in the UK but it still exists in parts of Europe, even on DTT (which has specific provision for compatibility) and even for the purpose of providing subtitles as well as news and information. It's most likely to finally die as a result of RF broadcasting ceasing - which is probably closer than we expect.
However, full marks for ingenuity and persistence here! You can transmit up to 16 lines of data per TV frame (in theory) which, given only 17 lines are being used for the display would mean a maximum frame rate of close to 47FPS. Early teletext models predated cheap microprocessors and so operated directly on the incoming data in real time (there was a family of Philips/Mullard ICs which became ubiquitous for this purpose) so are likely to perform rather better than modern sets which likely rely on the same overstretched MCU that's being used for all the other "intelligent" functions.
I'll just leave this here
[1]https://www.bbcelite.com/hacks/teletext_elite.html
[1] https://www.bbcelite.com/hacks/teletext_elite.html
Is it just me...
...or does anyone else now have a mental image of Bamber Boozler toting a Big F***ing Gun?
Teletext still runs here in Portugal - they even ported it almost directly to the digital TV system. You can still get it on the analogue channels, including the analogue version of the digital channels that ship on the cable networks.
Better? Doom on a single lego brick!
https://hackaday.com/2023/03/18/doom-ported-to-a-single-lego-brick/
And it looks more playable.
Hmmm (ploink!)
How about a Pi Zero as a 'proper' teletext decoder alongside something like a Teensy or Arduino driving a (rather big) 2D array of tri-colour LEDs :)
Can you render Crysis via Teletext?
Can you render Crysis via Teletext?
Also I know its probably a waste of time, but I love people doing things like this.