Couple of comments. Agree with your rule, but REXCPM is even more fancy.
It supports 32k bank switching in 0000 to 7FFF and 2 banks of 16k switched at 8000 to BFFF and C000 to FFFF. So REXCPM has to differentiate a bit based on which bank is indicated. All this bank switching to support RAM disk as well as general option rom switching, plus general ram banking. I agree the service manual isnt clear. But I know from experience that ALE can latch A8 to A15 in T200 and M100 option rom socket. One diagram does make it clear though. I'll snip and send separately. 8085 in general has a multiplexed address bus. On Wednesday, May 25, 2022, B 9 <hacke...@gmail.com> wrote: > Yes, that helps quite a bit. Thank you. > > One more question: If you are already handling situations 1 & 3 — bank3 is > low and bank 6 is high for both, so A15 must be checked — why not reduce > the scenarios to a single rule: > > - If either bank3 or bank6 is low, address is 0 to FFFF, rexcpm > responds. > > —b9 > > P.S. Where can I read more about the data latched in by ALE? The Tandy 200 > service manual and technical reference make it look like the AD bus is > holding only the lowest 8 bits of the memory address, A7 to A0, so I do not > yet understand how it contains A15. > > > On Wed, May 25, 2022 at 6:10 PM Stephen Adolph <twospru...@gmail.com> > wrote: > >> when bank3 is low, address 0000 to 7fff, bank6 is high, rexcpm responds. >> >> When bank6 is low, address a000 to ffff, bank3 is high, rexcpm responds >> >> When bank3 is low, address 8000 to 9fff, bank6 is high, rexcpm responds. >> >> All of these scenarios are unique. Cpm gets 64k when option rom and >> optikn ram 2 are engaged. >> >> Yah? Hope that helps. >> >> Steve >> >> >> >> >> On Wednesday, May 25, 2022, B 9 <hacke...@gmail.com> wrote: >> >>> I'm a little confused. >>> >>> It sounds like you're selecting on /BANK3 = 0 (option ROM selected) AND >>> /BANK6 = 0 (expansion RAM selected). But, if I'm reading figure 4-6 from >>> the service manual correctly, /BANK3=0 AND /BANK6=0 will always be false >>> because no two banks are ever selected at the same time. Decoders AA0037 >>> and AA0038 are mutually exclusive, governed by the same logic: NOT (A15 AND >>> (A14 OR A13)). >>> >>> That is, it appears that for addresses 8000 to 9FFF, bank 3 is selected: >>> /BANK3=0 and /BANK6=1. >>> >>> Or, am I missing something? >>> >>> —b9 >>> >>> On Wed, May 25, 2022 at 5:41 PM Stephen Adolph <twospru...@gmail.com> >>> wrote: >>> >>>> I've been thinking about it too. >>>> >>>> /BANK6 is perfect for selecting that ram bank for address A000 to >>>> FFFF. No issue. >>>> >>>> I believe that , when option rom is selected, it is actually selected >>>> for all addresses from 0000 to 9FFF. >>>> >>>> Now about A15. It is actually present in the socket because the AD bus >>>> is present and ALE is present. >>>> >>>> So all you need is a register to capture it. A15 is AD7 sampled by ALE. >>>> >>>> The T200 diagrams dont call the bus AD but it is. >>>> >>>> So, the T200 ram adapter needs to supply >>>> 1. Battery voltage >>>> 2. /WR >>>> 3. /BANK6 (and or BANK5) >>>> >>>> Three wires, the same as M100 REXCPM but with different logic >>>> implemented in the CPLD. >>>> >>>> For the record, in M100 and T102 REXCPM disables the internal ram by >>>> manipulating RAMRST. This isn't necessary for T200. The option rams can >>>> be replaced by REXCPM. Back driving RAMRST takes only a few mA. >>>> >>>> So yeah I think it works. I am thinking about a few little experiments >>>> to confirm my suspicions. >>>> >>>> Still a lot of firmware and software work to do. I already laid out >>>> the adapter. That's easy... ;) >>>> >>>> >>>> >>>> >>>> >>>> >>>> On Wednesday, May 25, 2022, B 9 <hacke...@gmail.com> wrote: >>>> >>>>> If you can get A15 without a blue wire, it does not seem that you >>>>> would need the new select signal based on /BANK6. Requests for 8000 to >>>>> 9FFF >>>>> appear to already go to Bank 3, so you'd just need to detect addresses in >>>>> that range in the OPTION ROM. It looks like the service manual schematic >>>>> for bank select does that using NOT( A15 AND (A14 OR A13) ). >>>>> >>>>> —b9 >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> On Mon, May 16, 2022 at 3:57 PM Stephen Adolph <twospru...@gmail.com> >>>>> wrote: >>>>> >>>>>> I took a fresh look at the T200 "all ram mode" which would be >>>>>> needed for REXCPM to work (nicely). >>>>>> Summary: it is actually feasible I believe to implement an all RAM >>>>>> mode fairly easily, which would support CP/M nicely. >>>>>> >>>>>> *Issue 1. The 8k ROM at 8000-9FFF* >>>>>> * as shown on the schematic, the M15 ROM is only enabled when /BANK1 >>>>>> is low and A15 is high. >>>>>> (also reference the 8k rom datasheet in the tech reference manual) >>>>>> * also as shown on the schematic, the M13 32k ROM is only enabled >>>>>> when /BANK1 is low and A15 is low. >>>>>> >>>>>> *SO - the 8k range is only active in /BANK1.* >>>>>> >>>>>> *Issue 2. Creating an all RAM mode* >>>>>> * /BANK3 enables the option ROM socket for 0000-7FFF address range >>>>>> * /BANK6 enables the 2nd option RAM socket for A000-FFFF address >>>>>> range. >>>>>> * a new select signal is needed for when /BANK3 = 0 (option rom >>>>>> selected) AND A15=1 (upper addresses) AND /BANK6=0 >>>>>> (so when we are using the option ROM, and address is in range >>>>>> 8000-9FFF) >>>>>> >>>>>> * A15 is available in the OPTION ROM socket indirectly; as shown in >>>>>> the service manual in Figure 4-3, the AD bus is provided to the option >>>>>> ROM >>>>>> socket, as is ALE. This means that A15 is present on AD7 (D7) on the >>>>>> falling edge of ALE. >>>>>> >>>>>> *SO - by stealing /BANK6 from the 2nd Option RAM socket, REXCPM could >>>>>> be programmed to provide an all RAM mode.* >>>>>> >>>>>> *What's needed to make REXCPM support T200* >>>>>> >>>>>> 1. A modified REXCPM that is able to deduce when to enable RAM in >>>>>> the 8000-9FFF range. >>>>>> 2. an Adapter Board sitting in Option RAM #2, which sends 3 >>>>>> signals to REXCPM (1) Battery voltage (2) /RD signal and (3) /BANK6 >>>>>> signal. >>>>>> 3. an updated RXCMGR application >>>>>> 4. an updated "T200 CP/M" IE the M100 CP/M modified to use the >>>>>> T200 environment. >>>>>> 5. updated CP/M uilities >>>>>> 6. (VirtualT updated to support REXCPM for T200...) >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> On Sun, May 15, 2022 at 5:35 PM Stephen Adolph <twospru...@gmail.com> >>>>>> wrote: >>>>>> >>>>>>> There would have to be a convenient plug and play ideally way to >>>>>>> decode that. >>>>>>> From what is present in the ram module compartment, I dont see a >>>>>>> good solution. >>>>>>> I'll take another look. >>>>>>> >>>>>>> On Sunday, May 15, 2022, B 9 <hacke...@gmail.com> wrote: >>>>>>> >>>>>>>> I, too, would love to see RexCPM for the Tandy 200. >>>>>>>> >>>>>>>> I apologize for my ignorance, but why is there a hole? For ROM? >>>>>>>> Would it be possible to bank out 8000 to 9FFF and replace it with RAM >>>>>>>> when >>>>>>>> running CPM? >>>>>>>> >>>>>>>> —B9 >>>>>>>> >>>>>>>> >>>>>>>> On Sun, May 15, 2022 at 9:44 AM Stephen Adolph < >>>>>>>> twospru...@gmail.com> wrote: >>>>>>>> >>>>>>>>> Hi >>>>>>>>> >>>>>>>>> At this time, no. It would require some changes due to the >>>>>>>>> unique memory map in the T200 relative to the M100. >>>>>>>>> >>>>>>>>> I think the biggest issue is that an all ram mode is not clearly >>>>>>>>> possible. There would be a hole fro. 8000 to 9FFF. That's not >>>>>>>>> great for >>>>>>>>> CPM. >>>>>>>>> >>>>>>>>> Steve >>>>>>>>> >>>>>>>>> On Saturday, May 14, 2022, Hiraghm <hira...@hotmail.com> wrote: >>>>>>>>> >>>>>>>>>> Is there an equivalent to the Model 100 REXCPM rom for the Model >>>>>>>>>> 200? >>>>>>>>>> >>>>>>>>>> >>>>>>>>>>