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