

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.ĭOOM'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. If the 'separated graphics' mode is preferred, another character (displayed as SG in the screenshot) is required.Ĭharacters 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. However, we cannot use all of them in graphics mode, as one character (displayed as GW in the screenshot) is required to switch to (contiguous) graphics mode. The keys for playing DOOM are shown on the ' Read This!' pages, with the first one holding the teletext specific functionalities (increase/decrease FPS and change graphics mode) and the second one showing the keys for the actual gameplay.Įach teletext line can hold 40 characters.
#Prodeus mod for doom software
The receiver of the stream has to interpret the data by displaying it on a teletext viewer software or (for the best experience) send it to a real TV. While the game is rendered in the SDL window, a teletext packet stream is sent to a target machine via a TCP connection. This means that the opened window has to keep focused in order to play the game. (If you are interested in this, pull requests are welcome!)ĭoom-generic opens an SDL window which displays the original rendering of the game and processes key inputs.
#Prodeus mod for doom code
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. So far, I have tested this project only with doom1.wad, but doom.wad should be running fine as well. If you don't own the game, the shareware version ( doom1.wad) is freely available. To run DOOM on your machine, you will need a WAD file. Even though higher levels allow for higher resolution graphics and a larger color palette, this projects generates a stream of level 1 teletext, mainly because it just feels like 'real' teletext to me and I like the original blocky look. Also the whole game menu was rebuilt for rendering in teletext. In detail, the status bar shows information like owned weapons, ammunition, health status, and a graphical representation of the protagonist's face. 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. However, running the original game on some device that also generates a teletext page which holds the scene is just as fine. Since teletext is based on unidirectional data transmission, it is not possible to actually run DOOM in teletext. If you want to learn more about this technology, the Wikipedia page is a good starting point, for detailed technical documentation this teletext specifications document is the way to go. A teletext page consists of 25 rows that can hold 40 characters each, while some characters are not displayable but hold information like text color of subsequent characters of the same line. Teletext was broadcast for the first time in 1974 and still is in many countries, mainly in Europe. The data to display is contained in the broadcast signal, hidden in the invisible vertical blanking interval area. Tele.what? Teletext is a standard for displaying (simple mosaic) graphics and text on TVs. The generated data can be piped to applications that process teletext packet streams, either to send it to real TVs or to decode and display teletext pages on a computer. Doom-teletext generates a teletext stream that contains rendering of the famous first-person shooter game DOOM from 1993.
