Motorola 6845 and bitwise graphicsIBM 5153 monitor vertical resolutionHow do CGA emulators for Hercules graphics work?

Which CentOS 7 package provides the "boot" manpage?

Does cover affect melee attacks?

What is the gold linker?

What fantasy book has twins (except one's blue) and a cloaked ice bear on the cover?

Company indirectly discriminating against introverts, specifically INTJ

How does Sitecore know an event in the event queue table has been processed?

How many wires can safely be secured in a Marrette 33 wire nut?

How are Aircraft Noses Designed?

Does Darwin owe a debt to Hegel?

Does my protagonist need to be the most important character?

How to deal with people whose priority is to not get blamed?

How to find Enhantments or Artifacts that have multiple effects?

Can you use a virtual credit card to withdraw money from an ATM in the UK?

First author doesn't want a co-author to read the whole paper

RGB palette to predetermined CMYK palette in InDesign and/or Illustrator

Drawing a sequence of circles

What would be the effect of a giant magical fireball burning in the ocean?

Do more Americans want the Bidens investigated than Trump impeached?

Why is Mars cold?

Is the tap water in France safe to drink?

Why is technology bad for children?

Did I Traumatize My Puppy?

How can you tell apart the pronounciation at the end between the "meine" and "meiner" in the daily spoken situation?

Does obfuscation give any measurable security benefit?



Motorola 6845 and bitwise graphics


IBM 5153 monitor vertical resolutionHow do CGA emulators for Hercules graphics work?






.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty
margin-bottom:0;









7

















I'm curious about how graphics were drawn on systems using the Motorola 6845. I understand this was used in the CGA? If so, did the 6845 really work bitwise, was the bitwise graphics entirely separate, or did they use changing character sets on the fly to represent different patterns?










share|improve this question

































    7

















    I'm curious about how graphics were drawn on systems using the Motorola 6845. I understand this was used in the CGA? If so, did the 6845 really work bitwise, was the bitwise graphics entirely separate, or did they use changing character sets on the fly to represent different patterns?










    share|improve this question





























      7












      7








      7








      I'm curious about how graphics were drawn on systems using the Motorola 6845. I understand this was used in the CGA? If so, did the 6845 really work bitwise, was the bitwise graphics entirely separate, or did they use changing character sets on the fly to represent different patterns?










      share|improve this question















      I'm curious about how graphics were drawn on systems using the Motorola 6845. I understand this was used in the CGA? If so, did the 6845 really work bitwise, was the bitwise graphics entirely separate, or did they use changing character sets on the fly to represent different patterns?







      cga






      share|improve this question














      share|improve this question











      share|improve this question




      share|improve this question










      asked May 13 at 12:11









      Maury MarkowitzMaury Markowitz

      4,4979 silver badges36 bronze badges




      4,4979 silver badges36 bronze badges























          2 Answers
          2






          active

          oldest

          votes


















          8


















          Basically the 6845 was a bunch of counter registers, which you could program by defining end values (and sometimes start values), and use to generate RAM addresses and CRT sync signals. There was also a separate row address, so the original intention clearly was for character based displays: With a bit of additional components, you'd read some RAM content describing a character into a latch, and then you'd use this to index a ROM describing the pixel pattern for that character. Which you'd load into a shift register and shift out to the video DAC.



          But of course then people also thought of ways to use this to display bit graphics. E.g. with a "character height" of 1, and no ROM access, and piping to RAM contents directly out of the shift registers. Or other variants for color.



          And you could have configuration bits that control which variant of external components to use (with ROM lookup, without ROM lookup, with color table lookup).



          And so, and so on. Bit the differences was all in the additional components, so "the 6845 worked bitwise" etc. doesn't really make sense.



          The chip was quite successful, and used in many different ways, and the registers used ended up in the CGA, EGA, VGA etc. cards (with various extensions), and today's graphics card still have a legacy mode with this register layout. But the 6845 by itself still only is a bunch of counters.



          In the 6845 data sheet, there's an example for additional components to create a character-based display, and you can read up on the details of operation.






          share|improve this answer




























          • Most excellent. So was memory bandwidth a problem if you did things bitwise? Or did it include some sort of "stuffing" system?

            – Maury Markowitz
            May 13 at 13:54






          • 2





            The "stuffing" system was the shift register I mentioned - RAM wasn't fast enough at that time to read memory every pixel (say, for 80x25 characters with 8x9 pixels per character), so e.g. you'd read 8 pixels at once, and then shift them out. Same for bit graphics.

            – dirkt
            May 13 at 13:57












          • The 6845 was limited to 127 rows per screen, so a character height of 1 wouldn't work. Instead, 6845-based bitmap displays would use the 6845's row output to select among several partial bitmaps of 127 or fewer lines each, which would then be displayed interleaved.

            – supercat
            May 13 at 21:20











          • On some machines that use the 6845 - certainly the Amstrad CPC and the Acorn BBC Micro - it's possible to get past the 127 line limit by changing register values mid-frame. I'm not sure how feasible that would be on a PC with a CGA card though.

            – Matthew Barber
            May 14 at 6:36











          • @supercat: I vaguely remember that some bitmap graphic modes worked by setting character height to 1; not sure about the context (it may have been a modified 6845 design that has become part of an integrated graphics card, with the total line counter width increased). Anyhow, the alternative is to set it to a power of two, and use the row address pins to address the RAM.

            – dirkt
            May 14 at 6:40



















          6


















          CGA and Hercules Graphics use the 6845. In graphics mode, each pixel is controlled individually, with no involvement from the character generator.



          Graphics mode is controlled by bit 1 of the 03D8h control register; when it’s set, the framebuffer is treated as containing bitmap information, and when it’s cleared, the framebuffer is processed by the character generator. The bitmap layout in CGA isn’t linear; even rows come first, followed by odd rows (offset by 8 KiB). Pixels are packed, four pixels per byte in low resolution, eight pixels per byte in high resolution. Hercules has a similar interleaved layout, with four banks instead of two.



          This page has lots of details on CGA.






          share|improve this answer



























            Your Answer








            StackExchange.ready(function()
            var channelOptions =
            tags: "".split(" "),
            id: "648"
            ;
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function()
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled)
            StackExchange.using("snippets", function()
            createEditor();
            );

            else
            createEditor();

            );

            function createEditor()
            StackExchange.prepareEditor(
            heartbeatType: 'answer',
            autoActivateHeartbeat: false,
            convertImagesToLinks: false,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: null,
            bindNavPrevention: true,
            postfix: "",
            imageUploader:
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/4.0/"u003ecc by-sa 4.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            ,
            noCode: true, onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            );



            );














            draft saved

            draft discarded
















            StackExchange.ready(
            function ()
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fretrocomputing.stackexchange.com%2fquestions%2f10996%2fmotorola-6845-and-bitwise-graphics%23new-answer', 'question_page');

            );

            Post as a guest















            Required, but never shown


























            2 Answers
            2






            active

            oldest

            votes








            2 Answers
            2






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            8


















            Basically the 6845 was a bunch of counter registers, which you could program by defining end values (and sometimes start values), and use to generate RAM addresses and CRT sync signals. There was also a separate row address, so the original intention clearly was for character based displays: With a bit of additional components, you'd read some RAM content describing a character into a latch, and then you'd use this to index a ROM describing the pixel pattern for that character. Which you'd load into a shift register and shift out to the video DAC.



            But of course then people also thought of ways to use this to display bit graphics. E.g. with a "character height" of 1, and no ROM access, and piping to RAM contents directly out of the shift registers. Or other variants for color.



            And you could have configuration bits that control which variant of external components to use (with ROM lookup, without ROM lookup, with color table lookup).



            And so, and so on. Bit the differences was all in the additional components, so "the 6845 worked bitwise" etc. doesn't really make sense.



            The chip was quite successful, and used in many different ways, and the registers used ended up in the CGA, EGA, VGA etc. cards (with various extensions), and today's graphics card still have a legacy mode with this register layout. But the 6845 by itself still only is a bunch of counters.



            In the 6845 data sheet, there's an example for additional components to create a character-based display, and you can read up on the details of operation.






            share|improve this answer




























            • Most excellent. So was memory bandwidth a problem if you did things bitwise? Or did it include some sort of "stuffing" system?

              – Maury Markowitz
              May 13 at 13:54






            • 2





              The "stuffing" system was the shift register I mentioned - RAM wasn't fast enough at that time to read memory every pixel (say, for 80x25 characters with 8x9 pixels per character), so e.g. you'd read 8 pixels at once, and then shift them out. Same for bit graphics.

              – dirkt
              May 13 at 13:57












            • The 6845 was limited to 127 rows per screen, so a character height of 1 wouldn't work. Instead, 6845-based bitmap displays would use the 6845's row output to select among several partial bitmaps of 127 or fewer lines each, which would then be displayed interleaved.

              – supercat
              May 13 at 21:20











            • On some machines that use the 6845 - certainly the Amstrad CPC and the Acorn BBC Micro - it's possible to get past the 127 line limit by changing register values mid-frame. I'm not sure how feasible that would be on a PC with a CGA card though.

              – Matthew Barber
              May 14 at 6:36











            • @supercat: I vaguely remember that some bitmap graphic modes worked by setting character height to 1; not sure about the context (it may have been a modified 6845 design that has become part of an integrated graphics card, with the total line counter width increased). Anyhow, the alternative is to set it to a power of two, and use the row address pins to address the RAM.

              – dirkt
              May 14 at 6:40
















            8


















            Basically the 6845 was a bunch of counter registers, which you could program by defining end values (and sometimes start values), and use to generate RAM addresses and CRT sync signals. There was also a separate row address, so the original intention clearly was for character based displays: With a bit of additional components, you'd read some RAM content describing a character into a latch, and then you'd use this to index a ROM describing the pixel pattern for that character. Which you'd load into a shift register and shift out to the video DAC.



            But of course then people also thought of ways to use this to display bit graphics. E.g. with a "character height" of 1, and no ROM access, and piping to RAM contents directly out of the shift registers. Or other variants for color.



            And you could have configuration bits that control which variant of external components to use (with ROM lookup, without ROM lookup, with color table lookup).



            And so, and so on. Bit the differences was all in the additional components, so "the 6845 worked bitwise" etc. doesn't really make sense.



            The chip was quite successful, and used in many different ways, and the registers used ended up in the CGA, EGA, VGA etc. cards (with various extensions), and today's graphics card still have a legacy mode with this register layout. But the 6845 by itself still only is a bunch of counters.



            In the 6845 data sheet, there's an example for additional components to create a character-based display, and you can read up on the details of operation.






            share|improve this answer




























            • Most excellent. So was memory bandwidth a problem if you did things bitwise? Or did it include some sort of "stuffing" system?

              – Maury Markowitz
              May 13 at 13:54






            • 2





              The "stuffing" system was the shift register I mentioned - RAM wasn't fast enough at that time to read memory every pixel (say, for 80x25 characters with 8x9 pixels per character), so e.g. you'd read 8 pixels at once, and then shift them out. Same for bit graphics.

              – dirkt
              May 13 at 13:57












            • The 6845 was limited to 127 rows per screen, so a character height of 1 wouldn't work. Instead, 6845-based bitmap displays would use the 6845's row output to select among several partial bitmaps of 127 or fewer lines each, which would then be displayed interleaved.

              – supercat
              May 13 at 21:20











            • On some machines that use the 6845 - certainly the Amstrad CPC and the Acorn BBC Micro - it's possible to get past the 127 line limit by changing register values mid-frame. I'm not sure how feasible that would be on a PC with a CGA card though.

              – Matthew Barber
              May 14 at 6:36











            • @supercat: I vaguely remember that some bitmap graphic modes worked by setting character height to 1; not sure about the context (it may have been a modified 6845 design that has become part of an integrated graphics card, with the total line counter width increased). Anyhow, the alternative is to set it to a power of two, and use the row address pins to address the RAM.

              – dirkt
              May 14 at 6:40














            8














            8










            8









            Basically the 6845 was a bunch of counter registers, which you could program by defining end values (and sometimes start values), and use to generate RAM addresses and CRT sync signals. There was also a separate row address, so the original intention clearly was for character based displays: With a bit of additional components, you'd read some RAM content describing a character into a latch, and then you'd use this to index a ROM describing the pixel pattern for that character. Which you'd load into a shift register and shift out to the video DAC.



            But of course then people also thought of ways to use this to display bit graphics. E.g. with a "character height" of 1, and no ROM access, and piping to RAM contents directly out of the shift registers. Or other variants for color.



            And you could have configuration bits that control which variant of external components to use (with ROM lookup, without ROM lookup, with color table lookup).



            And so, and so on. Bit the differences was all in the additional components, so "the 6845 worked bitwise" etc. doesn't really make sense.



            The chip was quite successful, and used in many different ways, and the registers used ended up in the CGA, EGA, VGA etc. cards (with various extensions), and today's graphics card still have a legacy mode with this register layout. But the 6845 by itself still only is a bunch of counters.



            In the 6845 data sheet, there's an example for additional components to create a character-based display, and you can read up on the details of operation.






            share|improve this answer
















            Basically the 6845 was a bunch of counter registers, which you could program by defining end values (and sometimes start values), and use to generate RAM addresses and CRT sync signals. There was also a separate row address, so the original intention clearly was for character based displays: With a bit of additional components, you'd read some RAM content describing a character into a latch, and then you'd use this to index a ROM describing the pixel pattern for that character. Which you'd load into a shift register and shift out to the video DAC.



            But of course then people also thought of ways to use this to display bit graphics. E.g. with a "character height" of 1, and no ROM access, and piping to RAM contents directly out of the shift registers. Or other variants for color.



            And you could have configuration bits that control which variant of external components to use (with ROM lookup, without ROM lookup, with color table lookup).



            And so, and so on. Bit the differences was all in the additional components, so "the 6845 worked bitwise" etc. doesn't really make sense.



            The chip was quite successful, and used in many different ways, and the registers used ended up in the CGA, EGA, VGA etc. cards (with various extensions), and today's graphics card still have a legacy mode with this register layout. But the 6845 by itself still only is a bunch of counters.



            In the 6845 data sheet, there's an example for additional components to create a character-based display, and you can read up on the details of operation.







            share|improve this answer















            share|improve this answer




            share|improve this answer








            edited May 13 at 14:00

























            answered May 13 at 13:41









            dirktdirkt

            10.7k1 gold badge27 silver badges52 bronze badges




            10.7k1 gold badge27 silver badges52 bronze badges















            • Most excellent. So was memory bandwidth a problem if you did things bitwise? Or did it include some sort of "stuffing" system?

              – Maury Markowitz
              May 13 at 13:54






            • 2





              The "stuffing" system was the shift register I mentioned - RAM wasn't fast enough at that time to read memory every pixel (say, for 80x25 characters with 8x9 pixels per character), so e.g. you'd read 8 pixels at once, and then shift them out. Same for bit graphics.

              – dirkt
              May 13 at 13:57












            • The 6845 was limited to 127 rows per screen, so a character height of 1 wouldn't work. Instead, 6845-based bitmap displays would use the 6845's row output to select among several partial bitmaps of 127 or fewer lines each, which would then be displayed interleaved.

              – supercat
              May 13 at 21:20











            • On some machines that use the 6845 - certainly the Amstrad CPC and the Acorn BBC Micro - it's possible to get past the 127 line limit by changing register values mid-frame. I'm not sure how feasible that would be on a PC with a CGA card though.

              – Matthew Barber
              May 14 at 6:36











            • @supercat: I vaguely remember that some bitmap graphic modes worked by setting character height to 1; not sure about the context (it may have been a modified 6845 design that has become part of an integrated graphics card, with the total line counter width increased). Anyhow, the alternative is to set it to a power of two, and use the row address pins to address the RAM.

              – dirkt
              May 14 at 6:40


















            • Most excellent. So was memory bandwidth a problem if you did things bitwise? Or did it include some sort of "stuffing" system?

              – Maury Markowitz
              May 13 at 13:54






            • 2





              The "stuffing" system was the shift register I mentioned - RAM wasn't fast enough at that time to read memory every pixel (say, for 80x25 characters with 8x9 pixels per character), so e.g. you'd read 8 pixels at once, and then shift them out. Same for bit graphics.

              – dirkt
              May 13 at 13:57












            • The 6845 was limited to 127 rows per screen, so a character height of 1 wouldn't work. Instead, 6845-based bitmap displays would use the 6845's row output to select among several partial bitmaps of 127 or fewer lines each, which would then be displayed interleaved.

              – supercat
              May 13 at 21:20











            • On some machines that use the 6845 - certainly the Amstrad CPC and the Acorn BBC Micro - it's possible to get past the 127 line limit by changing register values mid-frame. I'm not sure how feasible that would be on a PC with a CGA card though.

              – Matthew Barber
              May 14 at 6:36











            • @supercat: I vaguely remember that some bitmap graphic modes worked by setting character height to 1; not sure about the context (it may have been a modified 6845 design that has become part of an integrated graphics card, with the total line counter width increased). Anyhow, the alternative is to set it to a power of two, and use the row address pins to address the RAM.

              – dirkt
              May 14 at 6:40

















            Most excellent. So was memory bandwidth a problem if you did things bitwise? Or did it include some sort of "stuffing" system?

            – Maury Markowitz
            May 13 at 13:54





            Most excellent. So was memory bandwidth a problem if you did things bitwise? Or did it include some sort of "stuffing" system?

            – Maury Markowitz
            May 13 at 13:54




            2




            2





            The "stuffing" system was the shift register I mentioned - RAM wasn't fast enough at that time to read memory every pixel (say, for 80x25 characters with 8x9 pixels per character), so e.g. you'd read 8 pixels at once, and then shift them out. Same for bit graphics.

            – dirkt
            May 13 at 13:57






            The "stuffing" system was the shift register I mentioned - RAM wasn't fast enough at that time to read memory every pixel (say, for 80x25 characters with 8x9 pixels per character), so e.g. you'd read 8 pixels at once, and then shift them out. Same for bit graphics.

            – dirkt
            May 13 at 13:57














            The 6845 was limited to 127 rows per screen, so a character height of 1 wouldn't work. Instead, 6845-based bitmap displays would use the 6845's row output to select among several partial bitmaps of 127 or fewer lines each, which would then be displayed interleaved.

            – supercat
            May 13 at 21:20





            The 6845 was limited to 127 rows per screen, so a character height of 1 wouldn't work. Instead, 6845-based bitmap displays would use the 6845's row output to select among several partial bitmaps of 127 or fewer lines each, which would then be displayed interleaved.

            – supercat
            May 13 at 21:20













            On some machines that use the 6845 - certainly the Amstrad CPC and the Acorn BBC Micro - it's possible to get past the 127 line limit by changing register values mid-frame. I'm not sure how feasible that would be on a PC with a CGA card though.

            – Matthew Barber
            May 14 at 6:36





            On some machines that use the 6845 - certainly the Amstrad CPC and the Acorn BBC Micro - it's possible to get past the 127 line limit by changing register values mid-frame. I'm not sure how feasible that would be on a PC with a CGA card though.

            – Matthew Barber
            May 14 at 6:36













            @supercat: I vaguely remember that some bitmap graphic modes worked by setting character height to 1; not sure about the context (it may have been a modified 6845 design that has become part of an integrated graphics card, with the total line counter width increased). Anyhow, the alternative is to set it to a power of two, and use the row address pins to address the RAM.

            – dirkt
            May 14 at 6:40






            @supercat: I vaguely remember that some bitmap graphic modes worked by setting character height to 1; not sure about the context (it may have been a modified 6845 design that has become part of an integrated graphics card, with the total line counter width increased). Anyhow, the alternative is to set it to a power of two, and use the row address pins to address the RAM.

            – dirkt
            May 14 at 6:40














            6


















            CGA and Hercules Graphics use the 6845. In graphics mode, each pixel is controlled individually, with no involvement from the character generator.



            Graphics mode is controlled by bit 1 of the 03D8h control register; when it’s set, the framebuffer is treated as containing bitmap information, and when it’s cleared, the framebuffer is processed by the character generator. The bitmap layout in CGA isn’t linear; even rows come first, followed by odd rows (offset by 8 KiB). Pixels are packed, four pixels per byte in low resolution, eight pixels per byte in high resolution. Hercules has a similar interleaved layout, with four banks instead of two.



            This page has lots of details on CGA.






            share|improve this answer






























              6


















              CGA and Hercules Graphics use the 6845. In graphics mode, each pixel is controlled individually, with no involvement from the character generator.



              Graphics mode is controlled by bit 1 of the 03D8h control register; when it’s set, the framebuffer is treated as containing bitmap information, and when it’s cleared, the framebuffer is processed by the character generator. The bitmap layout in CGA isn’t linear; even rows come first, followed by odd rows (offset by 8 KiB). Pixels are packed, four pixels per byte in low resolution, eight pixels per byte in high resolution. Hercules has a similar interleaved layout, with four banks instead of two.



              This page has lots of details on CGA.






              share|improve this answer




























                6














                6










                6









                CGA and Hercules Graphics use the 6845. In graphics mode, each pixel is controlled individually, with no involvement from the character generator.



                Graphics mode is controlled by bit 1 of the 03D8h control register; when it’s set, the framebuffer is treated as containing bitmap information, and when it’s cleared, the framebuffer is processed by the character generator. The bitmap layout in CGA isn’t linear; even rows come first, followed by odd rows (offset by 8 KiB). Pixels are packed, four pixels per byte in low resolution, eight pixels per byte in high resolution. Hercules has a similar interleaved layout, with four banks instead of two.



                This page has lots of details on CGA.






                share|improve this answer














                CGA and Hercules Graphics use the 6845. In graphics mode, each pixel is controlled individually, with no involvement from the character generator.



                Graphics mode is controlled by bit 1 of the 03D8h control register; when it’s set, the framebuffer is treated as containing bitmap information, and when it’s cleared, the framebuffer is processed by the character generator. The bitmap layout in CGA isn’t linear; even rows come first, followed by odd rows (offset by 8 KiB). Pixels are packed, four pixels per byte in low resolution, eight pixels per byte in high resolution. Hercules has a similar interleaved layout, with four banks instead of two.



                This page has lots of details on CGA.







                share|improve this answer













                share|improve this answer




                share|improve this answer










                answered May 13 at 13:40









                Stephen KittStephen Kitt

                50.9k9 gold badges208 silver badges213 bronze badges




                50.9k9 gold badges208 silver badges213 bronze badges































                    draft saved

                    draft discarded















































                    Thanks for contributing an answer to Retrocomputing Stack Exchange!


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid


                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.

                    To learn more, see our tips on writing great answers.




                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function ()
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fretrocomputing.stackexchange.com%2fquestions%2f10996%2fmotorola-6845-and-bitwise-graphics%23new-answer', 'question_page');

                    );

                    Post as a guest















                    Required, but never shown





















































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown

































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown









                    Popular posts from this blog

                    Tamil (spriik) Luke uk diar | Nawigatjuun

                    Align equal signs while including text over equalitiesAMS align: left aligned text/math plus multicolumn alignmentMultiple alignmentsAligning equations in multiple placesNumbering and aligning an equation with multiple columnsHow to align one equation with another multline equationUsing \ in environments inside the begintabularxNumber equations and preserving alignment of equal signsHow can I align equations to the left and to the right?Double equation alignment problem within align enviromentAligned within align: Why are they right-aligned?

                    Where does the image of a data connector as a sharp metal spike originate from?Where does the concept of infected people turning into zombies only after death originate from?Where does the motif of a reanimated human head originate?Where did the notion that Dragons could speak originate?Where does the archetypal image of the 'Grey' alien come from?Where did the suffix '-Man' originate?Where does the notion of being injured or killed by an illusion originate?Where did the term “sophont” originate?Where does the trope of magic spells being driven by advanced technology originate from?Where did the term “the living impaired” originate?