Loading ...
Sorry, an error occurred while loading the content.

Memory Addressing

Expand Messages
  • waters1802
    Question to the Group. I am in the process of designing my expansion board based on the Netronics Giant Board design. I plan to place an 8K Static RAM and
    Message 1 of 13 , Aug 17, 2002
    • 0 Attachment
      Question to the Group. I am in the process of designing my expansion
      board based on the Netronics "Giant Board" design. I plan to place
      an 8K Static RAM and an 8K EPROM on the board, the main board has the
      256 byte RAM, which is addressable. I was planning on using the
      Netronics Monitor program as the base application, starting at 0000h
      in the first 256 Bytes of the EPROM, and having the 8K RAM start at
      2000h. My Question, Will this work out OK? I don't remember how my
      original ELF-II was configurred. How much memory space is required by
      Tiny Basic and at what address does Tiny Basic want to reside at?

      Thanks for the help

      Will
    • cdp1861
      ... expansion ... place ... the ... 0000h ... at ... my ... by ... Hi, this might work for the monitor program since it resides in one 256 byte page. Therefore
      Message 2 of 13 , Aug 18, 2002
      • 0 Attachment
        --- In cosmacelf@y..., "waters1802" <engineer1@s...> wrote:
        > Question to the Group. I am in the process of designing my
        expansion
        > board based on the Netronics "Giant Board" design. I plan to
        place
        > an 8K Static RAM and an 8K EPROM on the board, the main board has
        the
        > 256 byte RAM, which is addressable. I was planning on using the
        > Netronics Monitor program as the base application, starting at
        0000h
        > in the first 256 Bytes of the EPROM, and having the 8K RAM start
        at
        > 2000h. My Question, Will this work out OK? I don't remember how
        my
        > original ELF-II was configurred. How much memory space is required
        by
        > Tiny Basic and at what address does Tiny Basic want to reside at?
        >
        > Thanks for the help
        >
        > Will

        Hi,

        this might work for the monitor program since it resides in one 256
        byte page. Therefore it uses no long branches ans is relocatable to
        any page including 0000. However, in the Elf II this ROM was at F000
        and practically every program longer than a page I ever saw on an
        Elf II expects RAM at 0000. Back then the monitor program was called
        by entering c0 f0 00 (unconditional long branch to F000) in the load
        mode and then switching to run mode. From there the programs were
        loaded. If you don't want to fix every program, I suggest you turn
        things around. Address your RAM from 0000 to whereever and pzt your
        ROM on top of that. I'm working on an Elf with RAM from 0000 to CFFF
        and ROM from D000 to FFFF. The old monitor program will reside from
        D000 to D0FF. This gives you 48k RAM and 16k ROM. That should be
        sufficient, 20 years ago we would have killed for these static RAMs.

        Richard
      • waters1802
        ... required ... F000 ... called ... load ... CFFF ... Richard, Thanks very much for the memory configuration information. I will take your advice as I design
        Message 3 of 13 , Aug 18, 2002
        • 0 Attachment
          --- In cosmacelf@y..., "cdp1861" <richard.dienstknecht@m...> wrote:
          > --- In cosmacelf@y..., "waters1802" <engineer1@s...> wrote:
          > > Question to the Group. I am in the process of designing my
          > expansion
          > > board based on the Netronics "Giant Board" design. I plan to
          > place
          > > an 8K Static RAM and an 8K EPROM on the board, the main board has
          > the
          > > 256 byte RAM, which is addressable. I was planning on using the
          > > Netronics Monitor program as the base application, starting at
          > 0000h
          > > in the first 256 Bytes of the EPROM, and having the 8K RAM start
          > at
          > > 2000h. My Question, Will this work out OK? I don't remember how
          > my
          > > original ELF-II was configurred. How much memory space is
          required
          > by
          > > Tiny Basic and at what address does Tiny Basic want to reside at?
          > >
          > > Thanks for the help
          > >
          > > Will
          >
          > Hi,
          >
          > this might work for the monitor program since it resides in one 256
          > byte page. Therefore it uses no long branches ans is relocatable to
          > any page including 0000. However, in the Elf II this ROM was at
          F000
          > and practically every program longer than a page I ever saw on an
          > Elf II expects RAM at 0000. Back then the monitor program was
          called
          > by entering c0 f0 00 (unconditional long branch to F000) in the
          load
          > mode and then switching to run mode. From there the programs were
          > loaded. If you don't want to fix every program, I suggest you turn
          > things around. Address your RAM from 0000 to whereever and pzt your
          > ROM on top of that. I'm working on an Elf with RAM from 0000 to
          CFFF
          > and ROM from D000 to FFFF. The old monitor program will reside from
          > D000 to D0FF. This gives you 48k RAM and 16k ROM. That should be
          > sufficient, 20 years ago we would have killed for these static RAMs.
          >
          > Richard

          Richard,

          Thanks very much for the memory configuration information. I will
          take your advice as I design and layout my "Giant Board + Memory"
          project.

          The good news is that I was able to find the time and tested the
          Video section of my ELF-II 're-make', and it worked!!! The board I
          built, which is a copy of the Netronics ELF-II works great.

          Will

          Will
        • Gemeny, Steve
          Will, I second everything Richard has said. I d add the following memory map from the Super Elf, FYI: RAM 0000 - 7FFF First 2K PROM 8000 - 82FF Monitor
          Message 4 of 13 , Aug 19, 2002
          • 0 Attachment
            Will,

            I second everything Richard has said.

            I'd add the following memory map from the Super Elf, FYI:

            RAM 0000 - 7FFF

            First 2K PROM
            8000 - 82FF Monitor
            8300 - 83FF Originally Blank (loaded with my TB I/O)

            Second 2K PROM
            8400 - 87FF Tiny Basic

            The original 1/4 K of RAM was mapped to 9800 and usually not used.

            Good luck,
            Steve


            -----Original Message-----
            From: cdp1861 [mailto:richard.dienstknecht@...-giessen.de]
            Sent: Sunday, August 18, 2002 3:03 PM
            To: cosmacelf@yahoogroups.com
            Subject: [cosmacelf] Re: Memory Addressing


            --- In cosmacelf@y..., "waters1802" <engineer1@s...> wrote:
            > Question to the Group. I am in the process of designing my
            expansion
            > board based on the Netronics "Giant Board" design. I plan to
            place
            > an 8K Static RAM and an 8K EPROM on the board, the main board has
            the
            > 256 byte RAM, which is addressable. I was planning on using the
            > Netronics Monitor program as the base application, starting at
            0000h
            > in the first 256 Bytes of the EPROM, and having the 8K RAM start
            at
            > 2000h. My Question, Will this work out OK? I don't remember how
            my
            > original ELF-II was configurred. How much memory space is required
            by
            > Tiny Basic and at what address does Tiny Basic want to reside at?
            >
            > Thanks for the help
            >
            > Will

            Hi,

            this might work for the monitor program since it resides in one 256
            byte page. Therefore it uses no long branches ans is relocatable to
            any page including 0000. However, in the Elf II this ROM was at F000
            and practically every program longer than a page I ever saw on an
            Elf II expects RAM at 0000. Back then the monitor program was called
            by entering c0 f0 00 (unconditional long branch to F000) in the load
            mode and then switching to run mode. From there the programs were
            loaded. If you don't want to fix every program, I suggest you turn
            things around. Address your RAM from 0000 to whereever and pzt your
            ROM on top of that. I'm working on an Elf with RAM from 0000 to CFFF
            and ROM from D000 to FFFF. The old monitor program will reside from
            D000 to D0FF. This gives you 48k RAM and 16k ROM. That should be
            sufficient, 20 years ago we would have killed for these static RAMs.

            Richard



            Yahoo! Groups Sponsor

            ADVERTISEMENT

            <http://rd.yahoo.com/M=228862.2128520.3581629.1829184/D=egroupweb/S=17055661
            62:HM/A=1182689/R=0/*http://adfarm.mediaplex.com/ad/ck/990-1736-1039-335>


            ========================================================
            Visit the COSMAC ELF website at http://www.cosmacelf.com
            <http://www.cosmacelf.com>

            To unsubscribe from this group, send an email to:
            cosmacelf-unsubscribe@yahoogroups.com



            Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service
            <http://docs.yahoo.com/info/terms/> .




            [Non-text portions of this message have been removed]
          • Gemeny, Steve
            From the GIANT board Manual... C0 F0 00 Monitor Program - 00 enter Execute 01 enter Examine 02 enter Modify 03 enter Cassette Write 04 enter Cassette
            Message 5 of 13 , Aug 19, 2002
            • 0 Attachment
              From the GIANT board Manual...

              C0 F0 00 Monitor Program -

              00 enter Execute
              01 enter Examine
              02 enter Modify
              03 enter Cassette Write
              04 enter Cassette Read
              05 enter Memory Scan

              Schematic seems to agree that the PROM is at F000.

              I see no reference to other PROM so I assume the ELFII loaded Tiny from
              Cassette into RAM starting at 0000... I don't know where the I/O routines
              would have been stored... you could look at the long braches to see where
              they point. They may be included with the load of Tiny... Careful.



              Later,
              Steve


              -----Original Message-----
              From: Lee Hart [mailto:leeahart@...]
              Sent: Monday, August 19, 2002 3:22 PM
              To: cosmacelf@yahoogroups.com
              Subject: Re: [cosmacelf] Memory Addressing



              waters1802 wrote:
              > Question to the Group. I am in the process of designing my expansion
              > board based on the Netronics "Giant Board" design. I plan to place
              > an 8K Static RAM and an 8K EPROM on the board, the main board has the
              > 256 byte RAM, which is addressable. I was planning on using the
              > Netronics Monitor program as the base application, starting at 0000h
              > in the first 256 Bytes of the EPROM, and having the 8K RAM start at
              > 2000h. My Question, Will this work out OK? I don't remember how my
              > original ELF-II was configured. How much memory space is required by
              > Tiny Basic and at what address does Tiny Basic want to reside at?

              I posted the source for one version of Tom Pittman's Tiny BASIC. That
              version was assembled to start at 0000 hex, with RAM at 1000 hex and
              above. But, it can be assembled for any memory map.

              I'm not sure wha the "standard" memory map was for the Netronic ELF.
              Maybe someone else knows.
              --
              Lee A. Hart Ring the bells that still can ring
              814 8th Ave. N. Forget your perfect offering
              Sartell, MN 56377 USA There is a crack in everything
              leeahart_at_earthlink.net That's how the light gets in - Leonard Cohen



              Yahoo! Groups Sponsor

              ADVERTISEMENT

              <http://rd.yahoo.com/M=231282.2213029.3686936.2152219/D=egroupweb/S=17055661
              62:HM/A=1190496/R=0/*http://clickserve.cc-dt.com/link/click?lid=410000000004
              11521>

              ========================================================
              Visit the COSMAC ELF website at http://www.cosmacelf.com
              <http://www.cosmacelf.com>

              To unsubscribe from this group, send an email to:
              cosmacelf-unsubscribe@yahoogroups.com



              Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service
              <http://docs.yahoo.com/info/terms/> .




              [Non-text portions of this message have been removed]
            • Lee Hart
              ... I posted the source for one version of Tom Pittman s Tiny BASIC. That version was assembled to start at 0000 hex, with RAM at 1000 hex and above. But, it
              Message 6 of 13 , Aug 19, 2002
              • 0 Attachment
                waters1802 wrote:
                > Question to the Group. I am in the process of designing my expansion
                > board based on the Netronics "Giant Board" design. I plan to place
                > an 8K Static RAM and an 8K EPROM on the board, the main board has the
                > 256 byte RAM, which is addressable. I was planning on using the
                > Netronics Monitor program as the base application, starting at 0000h
                > in the first 256 Bytes of the EPROM, and having the 8K RAM start at
                > 2000h. My Question, Will this work out OK? I don't remember how my
                > original ELF-II was configured. How much memory space is required by
                > Tiny Basic and at what address does Tiny Basic want to reside at?

                I posted the source for one version of Tom Pittman's Tiny BASIC. That
                version was assembled to start at 0000 hex, with RAM at 1000 hex and
                above. But, it can be assembled for any memory map.

                I'm not sure wha the "standard" memory map was for the Netronic ELF.
                Maybe someone else knows.
                --
                Lee A. Hart Ring the bells that still can ring
                814 8th Ave. N. Forget your perfect offering
                Sartell, MN 56377 USA There is a crack in everything
                leeahart_at_earthlink.net That's how the light gets in - Leonard Cohen
              • brianties
                I am looking at the orginal Elf schematic and am going to build one. I m having a hard time understanding how memory is configured so that I can expand it and
                Message 7 of 13 , Oct 27, 2009
                • 0 Attachment
                  I am looking at the orginal Elf schematic and am going to build one. I'm having a hard time understanding how memory is configured so that I can expand it and add more RAM/ROM. I have the 1802 users manual, and the popular mechanics articles. Both give great examples of how to achieve a certain configuration, but I'm missing the logic behind how the addresses are determed for a given IC. I know this is rudamentary stuff for you all. Thats why I'm asking if you could point me to a good book or article that can help me with this rather than ask you very specific questions. I am very close to understanding, but I'm just missing something. To make it worse, different examples go about memory expansion in a slightly different way.
                  Thanks for any help.
                • David G Williams
                  Hi brianties, In the basic Elf there are only 256 bytes of Memory - thus only 8 address lines are needed to address this much memory. The 1802 uses a
                  Message 8 of 13 , Oct 29, 2009
                  • 0 Attachment
                    Hi brianties,

                    In the basic Elf there are only 256 bytes of Memory - thus only 8 address lines are needed to address this much memory. The 1802 uses a muliplexed address bus, putting out the higher 8 bits which can be latched/demultiplexed using the TPA pulse and then the lower 8 bits. In the basic Elf the Higher address bits are not latched & so are not used. This means it doesn't matter what they are set to as only the lower 8 bits are used to address the Memory.
                    To expand the memory you need to latch the 8 high order bits of the address using an 8 bit latch & the TPA pulse. Have a look at figure 6 on Page 36 of Part 1 of the Popular Electronics Elf article. This shows the high & low address bytes & how TPA can be used to latch the high 8 bits of the address.

                    On Page 65 of Part 3 there is a "cryptic" drawing in Fig 1 of how to latch the lowest 3 of the upper address bits ( A8, 9 & 10). The 4042 is actually a 4 bit latch so you could wire it to latch A8, 9, 10 & 11. I notice there is a error in the document I have in that pin 11 is marked A10 Bar but in fact it is A10 & pin 12 is actually A10 Bar. The text on page 66 is partly correct. The original 256 bytes of memory will be addresses 0000 to 00FF but will also appear repeated as it does not decode A8 or A9 - just if A10 is low. (It repeats at addresses 0100-01FF, 0200-02FF, 0300-03FF - because A8 & A9 are ignored). If A10 is high then the expansion 1K ram is addressed - thus it starts at 0400 to 07FF. (This too will repeat as A11,12,13,14 &15 have not been included in the decoding).

                    I hope that gives you some idea of how the memory addressing works in the basic Elf.

                    Regards
                    David Williams
                    ----- Original Message -----
                    From: brianties
                    To: cosmacelf@yahoogroups.com
                    Sent: Wednesday, October 28, 2009 1:27 AM
                    Subject: [cosmacelf] Memory Addressing


                    I am looking at the orginal Elf schematic and am going to build one. I'm having a hard time understanding how memory is configured so that I can expand it and add more RAM/ROM. I have the 1802 users manual, and the popular mechanics articles. Both give great examples of how to achieve a certain configuration, but I'm missing the logic behind how the addresses are determed for a given IC. I know this is rudamentary stuff for you all. Thats why I'm asking if you could point me to a good book or article that can help me with this rather than ask you very specific questions. I am very close to understanding, but I'm just missing something. To make it worse, different examples go about memory expansion in a slightly different way.
                    Thanks for any help.





                    [Non-text portions of this message have been removed]
                  • brianties
                    Thank you, this helps quite a bit. Pointing out that mistake saved me a lot of grief! So A10 bar is what gets connected to the original 2101 memory?
                    Message 9 of 13 , Oct 29, 2009
                    • 0 Attachment
                      Thank you, this helps quite a bit. Pointing out that mistake saved me a lot of grief! So A10 bar is what gets connected to the original 2101 memory?
                      --- In cosmacelf@yahoogroups.com, "David G Williams" <davidg.williams@...> wrote:
                      >
                      > Hi brianties,
                      >
                      > In the basic Elf there are only 256 bytes of Memory - thus only 8 address lines are needed to address this much memory. The 1802 uses a muliplexed address bus, putting out the higher 8 bits which can be latched/demultiplexed using the TPA pulse and then the lower 8 bits. In the basic Elf the Higher address bits are not latched & so are not used. This means it doesn't matter what they are set to as only the lower 8 bits are used to address the Memory.
                      > To expand the memory you need to latch the 8 high order bits of the address using an 8 bit latch & the TPA pulse. Have a look at figure 6 on Page 36 of Part 1 of the Popular Electronics Elf article. This shows the high & low address bytes & how TPA can be used to latch the high 8 bits of the address.
                      >
                      > On Page 65 of Part 3 there is a "cryptic" drawing in Fig 1 of how to latch the lowest 3 of the upper address bits ( A8, 9 & 10). The 4042 is actually a 4 bit latch so you could wire it to latch A8, 9, 10 & 11. I notice there is a error in the document I have in that pin 11 is marked A10 Bar but in fact it is A10 & pin 12 is actually A10 Bar. The text on page 66 is partly correct. The original 256 bytes of memory will be addresses 0000 to 00FF but will also appear repeated as it does not decode A8 or A9 - just if A10 is low. (It repeats at addresses 0100-01FF, 0200-02FF, 0300-03FF - because A8 & A9 are ignored). If A10 is high then the expansion 1K ram is addressed - thus it starts at 0400 to 07FF. (This too will repeat as A11,12,13,14 &15 have not been included in the decoding).
                      >
                      > I hope that gives you some idea of how the memory addressing works in the basic Elf.
                      >
                      > Regards
                      > David Williams
                      > ----- Original Message -----
                      > From: brianties
                      > To: cosmacelf@yahoogroups.com
                      > Sent: Wednesday, October 28, 2009 1:27 AM
                      > Subject: [cosmacelf] Memory Addressing
                      >
                      >
                      > I am looking at the orginal Elf schematic and am going to build one. I'm having a hard time understanding how memory is configured so that I can expand it and add more RAM/ROM. I have the 1802 users manual, and the popular mechanics articles. Both give great examples of how to achieve a certain configuration, but I'm missing the logic behind how the addresses are determed for a given IC. I know this is rudamentary stuff for you all. Thats why I'm asking if you could point me to a good book or article that can help me with this rather than ask you very specific questions. I am very close to understanding, but I'm just missing something. To make it worse, different examples go about memory expansion in a slightly different way.
                      > Thanks for any help.
                      >
                      >
                      >
                      >
                      >
                      > [Non-text portions of this message have been removed]
                      >
                    • randy129
                      ... No, it s the pin numbers that are swapped in Fig. 1, not the labels. A10 connects to the /CE of the 2101 s, enabling them when A10 is 0. /A10 connects to
                      Message 10 of 13 , Oct 29, 2009
                      • 0 Attachment
                        --- In cosmacelf@yahoogroups.com, "brianties" <btt071871@...> wrote:
                        >
                        > So A10 bar is what gets connected to the original 2101 memory?

                        No, it's the pin numbers that are swapped in Fig. 1, not the labels.

                        A10 connects to the /CE of the 2101's, enabling them when A10 is 0.
                        /A10 connects to the /CE of the 2102's, enabling them when A10 is 1.

                        It's just that A10 is on pin 11 of the 4042.

                        If you did hook it up with pin 11 & 12 swapped, it would still
                        work, but then the 2102's would have address 0000-03ff (and
                        aliases at 0800-0bff, 1000-13ff, ...)
                        and the 2101's would be at 0400-04ff (with aliases at 0500-05ff,
                        0600-06ff, 0700-07ff, 0c00-0cff, ...)

                        Randy
                      • brianties
                        OK, I get it. The light bulb finally went on in my head. I have to remember think binary Thank you both for your help.
                        Message 11 of 13 , Oct 29, 2009
                        • 0 Attachment
                          OK, I get it. The light bulb finally went on in my head. I have to remember "think binary" Thank you both for your help.

                          --- In cosmacelf@yahoogroups.com, "randy129" <randy129@...> wrote:
                          >
                          >
                          >
                          > --- In cosmacelf@yahoogroups.com, "brianties" <btt071871@> wrote:
                          > >
                          > > So A10 bar is what gets connected to the original 2101 memory?
                          >
                          > No, it's the pin numbers that are swapped in Fig. 1, not the labels.
                          >
                          > A10 connects to the /CE of the 2101's, enabling them when A10 is 0.
                          > /A10 connects to the /CE of the 2102's, enabling them when A10 is 1.
                          >
                          > It's just that A10 is on pin 11 of the 4042.
                          >
                          > If you did hook it up with pin 11 & 12 swapped, it would still
                          > work, but then the 2102's would have address 0000-03ff (and
                          > aliases at 0800-0bff, 1000-13ff, ...)
                          > and the 2101's would be at 0400-04ff (with aliases at 0500-05ff,
                          > 0600-06ff, 0700-07ff, 0c00-0cff, ...)
                          >
                          > Randy
                          >
                        • J.C. Wren
                          I m sort of familiar with your problem. I have to struggle to think decimal ... --jc ... [Non-text portions of this message have been removed]
                          Message 12 of 13 , Oct 29, 2009
                          • 0 Attachment
                            I'm sort of familiar with your problem. I have to struggle to "think
                            decimal"...

                            --jc

                            On Thu, Oct 29, 2009 at 9:46 PM, brianties <btt071871@...> wrote:

                            >
                            >
                            >
                            > OK, I get it. The light bulb finally went on in my head. I have to remember
                            > "think binary" Thank you both for your help.
                            >


                            [Non-text portions of this message have been removed]
                          • Neil Breeden
                            There are 10 types of people in the world, those that understand binary and those that don t. -Neil From: cosmacelf@yahoogroups.com
                            Message 13 of 13 , Oct 29, 2009
                            • 0 Attachment
                              There are 10 types of people in the world, those that understand binary and
                              those that don't.

                              -Neil



                              From: cosmacelf@yahoogroups.com [mailto:cosmacelf@yahoogroups.com] On Behalf
                              Of J.C. Wren
                              Sent: Thursday, October 29, 2009 8:06 PM
                              To: cosmacelf@yahoogroups.com
                              Subject: Re: [cosmacelf] Re: Memory Addressing





                              I'm sort of familiar with your problem. I have to struggle to "think
                              decimal"...

                              --jc

                              On Thu, Oct 29, 2009 at 9:46 PM, brianties <btt071871@...
                              <mailto:btt071871%40gmail.com> > wrote:

                              >
                              >
                              >
                              > OK, I get it. The light bulb finally went on in my head. I have to
                              remember
                              > "think binary" Thank you both for your help.
                              >

                              [Non-text portions of this message have been removed]





                              [Non-text portions of this message have been removed]
                            Your message has been successfully submitted and would be delivered to recipients shortly.