A wire sounds good enough for me. I tried to trace the PCB to figure out
where A15 could most easily be tapped, but the resolution of the PCB scan
from the Tandy 200 Service Manual is too low.

—b9


On Wed, May 25, 2022 at 7:34 PM Stephen Adolph <twospru...@gmail.com> wrote:

> Well,
> Looking at the REXCPM board, it is possible to go from 3 signals on the
> jumper to 4.
> This would allow for A15 to be brought in, and to identify the special
> case where /BANK3 is zero but the address bus is 8000-9FFF.
> At first blush I can't think of a good way to solve this other than by
> adding a wire.
>
> Which puts the T200 install on the same page as T102, with a single wire
> required.
>
>
> On Wed, May 25, 2022 at 10:16 PM Stephen Adolph <twospru...@gmail.com>
> wrote:
>
>> AH, I see your point.
>> I stand corrected, A15 is not on the socket.
>> [image: image.png]
>>
>> So, maybe your suggestion works; is A15 needed at all?
>>
>> Yes, I think it is needed.
>>
>> How would you tell the difference between these two addresses, from the
>> perspective of REXCPM?
>>
>> 0000  vs 8000.
>> Both have /BANK3 = 0, and /BANK6=1.  And A14 to A0 = 000000000000000.
>>
>>
>> Seems like you gotta have an additional signal, A15.  And A15 is NOT on
>> the memory card.  That means you would need to jumper in from inside the
>> case.
>>
>>
>> Thanks, good discussion. I think I got all excited but I forgot which
>> part of the address was multiplexed!!
>>
>>
>>
>> On Wed, May 25, 2022 at 10:08 PM Stephen Adolph <twospru...@gmail.com>
>> wrote:
>>
>>> 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?
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>

Reply via email to