How did Elite on the NES work?How Did the 10NES lockout chip work?How does the NES Light Gun work?How can I create a split-scroll effect in an NES game?How does the NES PlayChoice arcade's security EPROM work?NES repair - blue screenDid the NES do anything special to support coprocessors?NES PPU die photoIs screen wrap on the NES a fault of the OAM?When were other inexpensive computers able to recreate “The Amiga Juggler”?386SX, NES and how much did data lines really cost anyway?

Is there a way to generate a list of distinct numbers such that no two subsets ever have an equal sum?

How can Republicans who favour free markets, consistently express anger when they don't like the outcome of that choice?

"The cow" OR "a cow" OR "cows" in this context

Multiple options vs single option UI

How to write a column outside the braces in a matrix?

Can SQL Server create collisions in system generated constraint names?

Dynamic SOQL query relationship with field visibility for Users

Contradiction proof for inequality of P and NP?

Why didn't the Space Shuttle bounce back into space as many times as possible so as to lose a lot of kinetic energy up there?

Does a large simulator bay have standard public address announcements?

Can an Area of Effect spell cast outside a Prismatic Wall extend inside it?

First time hit, with spinach? A little bit?

How did Captain America manage to do this?

Two field separators (colon and space) in awk

Is there really no use for MD5 anymore?

How to fry ground beef so it is well-browned

As an international instructor, should I openly talk about my accent?

How does Captain America channel this power?

On The Origin of Dissonant Chords

What happens to Mjolnir (Thor's hammer) at the end of Endgame?

Extension of 2-adic valuation to the real numbers

How to limit Drive Letters Windows assigns to new removable USB drives

Minor Revision with suggestion of an alternative proof by reviewer

Are there physical dangers to preparing a prepared piano?



How did Elite on the NES work?


How Did the 10NES lockout chip work?How does the NES Light Gun work?How can I create a split-scroll effect in an NES game?How does the NES PlayChoice arcade's security EPROM work?NES repair - blue screenDid the NES do anything special to support coprocessors?NES PPU die photoIs screen wrap on the NES a fault of the OAM?When were other inexpensive computers able to recreate “The Amiga Juggler”?386SX, NES and how much did data lines really cost anyway?













27















Elite was one of the earliest 3D games, wireframe only of course but still a remarkable accomplishment on 8-bit computers. Originating on the BBC micro, it was ported to many home computers, as well as the NES.



Wait a minute. The Nintendo was a tile based machine. How did it manage to render 3D wireframes? If you even had tiles in RAM I could see how you could do it, but the NES was restricted to tiles on the ROM cartridge; it had neither the ability to put bitmaps in RAM nor enough RAM to make use of that ability had it been present.



So, how?










share|improve this question

















  • 2





    I've never developed an NES cartridge, but I'd assume you could put RAM on the cartridge to use as PPU tile sets.

    – Jon Hess
    Apr 23 at 9:15






  • 4





    Well there is a PPU RD/WR & a CPU R/W line on NES connector and wikipedia suggests you can use ram for the tiles in a cartridge, so it looks to me like it's a Read Write connector

    – PeterI
    Apr 23 at 11:47












  • Sounds like someone needs to break out the disassembler.

    – pjc50
    2 days ago






  • 1





    From talking to someone who wrote a nes emulator (though I don't think he ever released it to the public) I recall hearing that elite updated parts of the graphics memory while other parts were being drawn to the screen,

    – Peter Green
    2 days ago







  • 1





    "My greatest published achievements technically would have to be fitting BBC Cassette Elite into 32K of RAM including the screen, and later the NES conversion of Elite that used a character mapped display and a single NES controller. The NES is my favourite published conversion and was not thought technically feasible until we'd done it." Ian Bell, from an interview on his webpage elitehomepage.org

    – Uli
    2 days ago















27















Elite was one of the earliest 3D games, wireframe only of course but still a remarkable accomplishment on 8-bit computers. Originating on the BBC micro, it was ported to many home computers, as well as the NES.



Wait a minute. The Nintendo was a tile based machine. How did it manage to render 3D wireframes? If you even had tiles in RAM I could see how you could do it, but the NES was restricted to tiles on the ROM cartridge; it had neither the ability to put bitmaps in RAM nor enough RAM to make use of that ability had it been present.



So, how?










share|improve this question

















  • 2





    I've never developed an NES cartridge, but I'd assume you could put RAM on the cartridge to use as PPU tile sets.

    – Jon Hess
    Apr 23 at 9:15






  • 4





    Well there is a PPU RD/WR & a CPU R/W line on NES connector and wikipedia suggests you can use ram for the tiles in a cartridge, so it looks to me like it's a Read Write connector

    – PeterI
    Apr 23 at 11:47












  • Sounds like someone needs to break out the disassembler.

    – pjc50
    2 days ago






  • 1





    From talking to someone who wrote a nes emulator (though I don't think he ever released it to the public) I recall hearing that elite updated parts of the graphics memory while other parts were being drawn to the screen,

    – Peter Green
    2 days ago







  • 1





    "My greatest published achievements technically would have to be fitting BBC Cassette Elite into 32K of RAM including the screen, and later the NES conversion of Elite that used a character mapped display and a single NES controller. The NES is my favourite published conversion and was not thought technically feasible until we'd done it." Ian Bell, from an interview on his webpage elitehomepage.org

    – Uli
    2 days ago













27












27








27


2






Elite was one of the earliest 3D games, wireframe only of course but still a remarkable accomplishment on 8-bit computers. Originating on the BBC micro, it was ported to many home computers, as well as the NES.



Wait a minute. The Nintendo was a tile based machine. How did it manage to render 3D wireframes? If you even had tiles in RAM I could see how you could do it, but the NES was restricted to tiles on the ROM cartridge; it had neither the ability to put bitmaps in RAM nor enough RAM to make use of that ability had it been present.



So, how?










share|improve this question














Elite was one of the earliest 3D games, wireframe only of course but still a remarkable accomplishment on 8-bit computers. Originating on the BBC micro, it was ported to many home computers, as well as the NES.



Wait a minute. The Nintendo was a tile based machine. How did it manage to render 3D wireframes? If you even had tiles in RAM I could see how you could do it, but the NES was restricted to tiles on the ROM cartridge; it had neither the ability to put bitmaps in RAM nor enough RAM to make use of that ability had it been present.



So, how?







graphics nes gaming






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Apr 23 at 8:14









rwallacerwallace

11.6k560170




11.6k560170







  • 2





    I've never developed an NES cartridge, but I'd assume you could put RAM on the cartridge to use as PPU tile sets.

    – Jon Hess
    Apr 23 at 9:15






  • 4





    Well there is a PPU RD/WR & a CPU R/W line on NES connector and wikipedia suggests you can use ram for the tiles in a cartridge, so it looks to me like it's a Read Write connector

    – PeterI
    Apr 23 at 11:47












  • Sounds like someone needs to break out the disassembler.

    – pjc50
    2 days ago






  • 1





    From talking to someone who wrote a nes emulator (though I don't think he ever released it to the public) I recall hearing that elite updated parts of the graphics memory while other parts were being drawn to the screen,

    – Peter Green
    2 days ago







  • 1





    "My greatest published achievements technically would have to be fitting BBC Cassette Elite into 32K of RAM including the screen, and later the NES conversion of Elite that used a character mapped display and a single NES controller. The NES is my favourite published conversion and was not thought technically feasible until we'd done it." Ian Bell, from an interview on his webpage elitehomepage.org

    – Uli
    2 days ago












  • 2





    I've never developed an NES cartridge, but I'd assume you could put RAM on the cartridge to use as PPU tile sets.

    – Jon Hess
    Apr 23 at 9:15






  • 4





    Well there is a PPU RD/WR & a CPU R/W line on NES connector and wikipedia suggests you can use ram for the tiles in a cartridge, so it looks to me like it's a Read Write connector

    – PeterI
    Apr 23 at 11:47












  • Sounds like someone needs to break out the disassembler.

    – pjc50
    2 days ago






  • 1





    From talking to someone who wrote a nes emulator (though I don't think he ever released it to the public) I recall hearing that elite updated parts of the graphics memory while other parts were being drawn to the screen,

    – Peter Green
    2 days ago







  • 1





    "My greatest published achievements technically would have to be fitting BBC Cassette Elite into 32K of RAM including the screen, and later the NES conversion of Elite that used a character mapped display and a single NES controller. The NES is my favourite published conversion and was not thought technically feasible until we'd done it." Ian Bell, from an interview on his webpage elitehomepage.org

    – Uli
    2 days ago







2




2





I've never developed an NES cartridge, but I'd assume you could put RAM on the cartridge to use as PPU tile sets.

– Jon Hess
Apr 23 at 9:15





I've never developed an NES cartridge, but I'd assume you could put RAM on the cartridge to use as PPU tile sets.

– Jon Hess
Apr 23 at 9:15




4




4





Well there is a PPU RD/WR & a CPU R/W line on NES connector and wikipedia suggests you can use ram for the tiles in a cartridge, so it looks to me like it's a Read Write connector

– PeterI
Apr 23 at 11:47






Well there is a PPU RD/WR & a CPU R/W line on NES connector and wikipedia suggests you can use ram for the tiles in a cartridge, so it looks to me like it's a Read Write connector

– PeterI
Apr 23 at 11:47














Sounds like someone needs to break out the disassembler.

– pjc50
2 days ago





Sounds like someone needs to break out the disassembler.

– pjc50
2 days ago




1




1





From talking to someone who wrote a nes emulator (though I don't think he ever released it to the public) I recall hearing that elite updated parts of the graphics memory while other parts were being drawn to the screen,

– Peter Green
2 days ago






From talking to someone who wrote a nes emulator (though I don't think he ever released it to the public) I recall hearing that elite updated parts of the graphics memory while other parts were being drawn to the screen,

– Peter Green
2 days ago





1




1





"My greatest published achievements technically would have to be fitting BBC Cassette Elite into 32K of RAM including the screen, and later the NES conversion of Elite that used a character mapped display and a single NES controller. The NES is my favourite published conversion and was not thought technically feasible until we'd done it." Ian Bell, from an interview on his webpage elitehomepage.org

– Uli
2 days ago





"My greatest published achievements technically would have to be fitting BBC Cassette Elite into 32K of RAM including the screen, and later the NES conversion of Elite that used a character mapped display and a single NES controller. The NES is my favourite published conversion and was not thought technically feasible until we'd done it." Ian Bell, from an interview on his webpage elitehomepage.org

– Uli
2 days ago










2 Answers
2






active

oldest

votes


















24














The cartridge contains extra RAM. The NES can use tiles in cartridge memory space, but that doesn't necessarily have to be ROM. With suitable RAM and memory mapping the cartridge can create a basic bitmap display out of tiles.



The vectors are then rendered to that RAM using the NES CPU in the normal way.






share|improve this answer























  • As someone completely ignorant on the NES, I'm really curious about how this is actually implemented software side. How are tiles used to "render" a wireframe image that is supposed to change constantly? Dynamically generating each tile based on 3d computations sounds too intensive of a task for the NES hardware.

    – ChatterOne
    2 days ago






  • 1





    @ChatterOne it does dynamically generate them. It has a 6502 running at 1.66MHz (PAL) which is actually relatively powerful. For comparison the BBC Micro, which was the original platform for Elite, has a 6502 running at 2MHz.

    – user
    2 days ago






  • 1





    BTW Elite run on C64, too, on its ~1MHz 6502, and with greater resolution...

    – Usagi Miyamoto
    2 days ago


















9














The Nintendo can easily display 256 different 8x8 background tiles fetched from a cartridge. One could use 240 such tiles to draw e.g. a 128x120 bitmap while still having a few left over to decorate the edges, and if the cartridge fetches tile data from RAM, the content of those tiles could be updated under program control. This approach would be workable for a game like Qix, which doesn't update very much content every frame, but unworkable for Elite, where each animation frame is drawn "from scratch".



European (PAL) NES consoles only allow graphics memory to be accessed during about 20% of each frame time. That may not sound like much, but it's three times the amount of time available in North American (NTSC) consoles. This isn't enough a big enough fraction of the time to load entire bitmaps for every animation frame while achieving a decent frame rate, but it is is enough that if the system determines which tiles have meaningful picture content, it will only need a few video frames to load the data for those tiles into graphics memory. There are many additional complications, but the chief take-away is that the PAL vertical blank is long enough to make such things practical. Unfortunately, because the NTSC vertical blank is much shorter (about 7% of the frame) it's unlikely games like Elite will be adaptable to North American consoles.






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/3.0/"u003ecc by-sa 3.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%2f9784%2fhow-did-elite-on-the-nes-work%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









    24














    The cartridge contains extra RAM. The NES can use tiles in cartridge memory space, but that doesn't necessarily have to be ROM. With suitable RAM and memory mapping the cartridge can create a basic bitmap display out of tiles.



    The vectors are then rendered to that RAM using the NES CPU in the normal way.






    share|improve this answer























    • As someone completely ignorant on the NES, I'm really curious about how this is actually implemented software side. How are tiles used to "render" a wireframe image that is supposed to change constantly? Dynamically generating each tile based on 3d computations sounds too intensive of a task for the NES hardware.

      – ChatterOne
      2 days ago






    • 1





      @ChatterOne it does dynamically generate them. It has a 6502 running at 1.66MHz (PAL) which is actually relatively powerful. For comparison the BBC Micro, which was the original platform for Elite, has a 6502 running at 2MHz.

      – user
      2 days ago






    • 1





      BTW Elite run on C64, too, on its ~1MHz 6502, and with greater resolution...

      – Usagi Miyamoto
      2 days ago















    24














    The cartridge contains extra RAM. The NES can use tiles in cartridge memory space, but that doesn't necessarily have to be ROM. With suitable RAM and memory mapping the cartridge can create a basic bitmap display out of tiles.



    The vectors are then rendered to that RAM using the NES CPU in the normal way.






    share|improve this answer























    • As someone completely ignorant on the NES, I'm really curious about how this is actually implemented software side. How are tiles used to "render" a wireframe image that is supposed to change constantly? Dynamically generating each tile based on 3d computations sounds too intensive of a task for the NES hardware.

      – ChatterOne
      2 days ago






    • 1





      @ChatterOne it does dynamically generate them. It has a 6502 running at 1.66MHz (PAL) which is actually relatively powerful. For comparison the BBC Micro, which was the original platform for Elite, has a 6502 running at 2MHz.

      – user
      2 days ago






    • 1





      BTW Elite run on C64, too, on its ~1MHz 6502, and with greater resolution...

      – Usagi Miyamoto
      2 days ago













    24












    24








    24







    The cartridge contains extra RAM. The NES can use tiles in cartridge memory space, but that doesn't necessarily have to be ROM. With suitable RAM and memory mapping the cartridge can create a basic bitmap display out of tiles.



    The vectors are then rendered to that RAM using the NES CPU in the normal way.






    share|improve this answer













    The cartridge contains extra RAM. The NES can use tiles in cartridge memory space, but that doesn't necessarily have to be ROM. With suitable RAM and memory mapping the cartridge can create a basic bitmap display out of tiles.



    The vectors are then rendered to that RAM using the NES CPU in the normal way.







    share|improve this answer












    share|improve this answer



    share|improve this answer










    answered Apr 23 at 13:07









    useruser

    4,746922




    4,746922












    • As someone completely ignorant on the NES, I'm really curious about how this is actually implemented software side. How are tiles used to "render" a wireframe image that is supposed to change constantly? Dynamically generating each tile based on 3d computations sounds too intensive of a task for the NES hardware.

      – ChatterOne
      2 days ago






    • 1





      @ChatterOne it does dynamically generate them. It has a 6502 running at 1.66MHz (PAL) which is actually relatively powerful. For comparison the BBC Micro, which was the original platform for Elite, has a 6502 running at 2MHz.

      – user
      2 days ago






    • 1





      BTW Elite run on C64, too, on its ~1MHz 6502, and with greater resolution...

      – Usagi Miyamoto
      2 days ago

















    • As someone completely ignorant on the NES, I'm really curious about how this is actually implemented software side. How are tiles used to "render" a wireframe image that is supposed to change constantly? Dynamically generating each tile based on 3d computations sounds too intensive of a task for the NES hardware.

      – ChatterOne
      2 days ago






    • 1





      @ChatterOne it does dynamically generate them. It has a 6502 running at 1.66MHz (PAL) which is actually relatively powerful. For comparison the BBC Micro, which was the original platform for Elite, has a 6502 running at 2MHz.

      – user
      2 days ago






    • 1





      BTW Elite run on C64, too, on its ~1MHz 6502, and with greater resolution...

      – Usagi Miyamoto
      2 days ago
















    As someone completely ignorant on the NES, I'm really curious about how this is actually implemented software side. How are tiles used to "render" a wireframe image that is supposed to change constantly? Dynamically generating each tile based on 3d computations sounds too intensive of a task for the NES hardware.

    – ChatterOne
    2 days ago





    As someone completely ignorant on the NES, I'm really curious about how this is actually implemented software side. How are tiles used to "render" a wireframe image that is supposed to change constantly? Dynamically generating each tile based on 3d computations sounds too intensive of a task for the NES hardware.

    – ChatterOne
    2 days ago




    1




    1





    @ChatterOne it does dynamically generate them. It has a 6502 running at 1.66MHz (PAL) which is actually relatively powerful. For comparison the BBC Micro, which was the original platform for Elite, has a 6502 running at 2MHz.

    – user
    2 days ago





    @ChatterOne it does dynamically generate them. It has a 6502 running at 1.66MHz (PAL) which is actually relatively powerful. For comparison the BBC Micro, which was the original platform for Elite, has a 6502 running at 2MHz.

    – user
    2 days ago




    1




    1





    BTW Elite run on C64, too, on its ~1MHz 6502, and with greater resolution...

    – Usagi Miyamoto
    2 days ago





    BTW Elite run on C64, too, on its ~1MHz 6502, and with greater resolution...

    – Usagi Miyamoto
    2 days ago











    9














    The Nintendo can easily display 256 different 8x8 background tiles fetched from a cartridge. One could use 240 such tiles to draw e.g. a 128x120 bitmap while still having a few left over to decorate the edges, and if the cartridge fetches tile data from RAM, the content of those tiles could be updated under program control. This approach would be workable for a game like Qix, which doesn't update very much content every frame, but unworkable for Elite, where each animation frame is drawn "from scratch".



    European (PAL) NES consoles only allow graphics memory to be accessed during about 20% of each frame time. That may not sound like much, but it's three times the amount of time available in North American (NTSC) consoles. This isn't enough a big enough fraction of the time to load entire bitmaps for every animation frame while achieving a decent frame rate, but it is is enough that if the system determines which tiles have meaningful picture content, it will only need a few video frames to load the data for those tiles into graphics memory. There are many additional complications, but the chief take-away is that the PAL vertical blank is long enough to make such things practical. Unfortunately, because the NTSC vertical blank is much shorter (about 7% of the frame) it's unlikely games like Elite will be adaptable to North American consoles.






    share|improve this answer



























      9














      The Nintendo can easily display 256 different 8x8 background tiles fetched from a cartridge. One could use 240 such tiles to draw e.g. a 128x120 bitmap while still having a few left over to decorate the edges, and if the cartridge fetches tile data from RAM, the content of those tiles could be updated under program control. This approach would be workable for a game like Qix, which doesn't update very much content every frame, but unworkable for Elite, where each animation frame is drawn "from scratch".



      European (PAL) NES consoles only allow graphics memory to be accessed during about 20% of each frame time. That may not sound like much, but it's three times the amount of time available in North American (NTSC) consoles. This isn't enough a big enough fraction of the time to load entire bitmaps for every animation frame while achieving a decent frame rate, but it is is enough that if the system determines which tiles have meaningful picture content, it will only need a few video frames to load the data for those tiles into graphics memory. There are many additional complications, but the chief take-away is that the PAL vertical blank is long enough to make such things practical. Unfortunately, because the NTSC vertical blank is much shorter (about 7% of the frame) it's unlikely games like Elite will be adaptable to North American consoles.






      share|improve this answer

























        9












        9








        9







        The Nintendo can easily display 256 different 8x8 background tiles fetched from a cartridge. One could use 240 such tiles to draw e.g. a 128x120 bitmap while still having a few left over to decorate the edges, and if the cartridge fetches tile data from RAM, the content of those tiles could be updated under program control. This approach would be workable for a game like Qix, which doesn't update very much content every frame, but unworkable for Elite, where each animation frame is drawn "from scratch".



        European (PAL) NES consoles only allow graphics memory to be accessed during about 20% of each frame time. That may not sound like much, but it's three times the amount of time available in North American (NTSC) consoles. This isn't enough a big enough fraction of the time to load entire bitmaps for every animation frame while achieving a decent frame rate, but it is is enough that if the system determines which tiles have meaningful picture content, it will only need a few video frames to load the data for those tiles into graphics memory. There are many additional complications, but the chief take-away is that the PAL vertical blank is long enough to make such things practical. Unfortunately, because the NTSC vertical blank is much shorter (about 7% of the frame) it's unlikely games like Elite will be adaptable to North American consoles.






        share|improve this answer













        The Nintendo can easily display 256 different 8x8 background tiles fetched from a cartridge. One could use 240 such tiles to draw e.g. a 128x120 bitmap while still having a few left over to decorate the edges, and if the cartridge fetches tile data from RAM, the content of those tiles could be updated under program control. This approach would be workable for a game like Qix, which doesn't update very much content every frame, but unworkable for Elite, where each animation frame is drawn "from scratch".



        European (PAL) NES consoles only allow graphics memory to be accessed during about 20% of each frame time. That may not sound like much, but it's three times the amount of time available in North American (NTSC) consoles. This isn't enough a big enough fraction of the time to load entire bitmaps for every animation frame while achieving a decent frame rate, but it is is enough that if the system determines which tiles have meaningful picture content, it will only need a few video frames to load the data for those tiles into graphics memory. There are many additional complications, but the chief take-away is that the PAL vertical blank is long enough to make such things practical. Unfortunately, because the NTSC vertical blank is much shorter (about 7% of the frame) it's unlikely games like Elite will be adaptable to North American consoles.







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Apr 23 at 17:58









        supercatsupercat

        8,6751043




        8,6751043



























            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%2f9784%2fhow-did-elite-on-the-nes-work%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