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?
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>

Reply via email to