Thanks, Stephen, your bank switching code worked perfectly to access the
MULTIPLAN. Once I add the PC8300's ROM banking scheme, my code will be able
to do a proper checksum of any Model T. (It shouldn't be too hard since
NEC's technical reference manual covers bank selection.)

Does anyone have any advice on the best place to place assembly language
programs with ORG so they can run on any Model T? I've been using 60000
since it seems to work on even the 8K RAM machines, at least according to
Virtual T, although I admit I don't know how. Does an 8K Model 100 put its
memory at the highest addresses and have a hole in the middle?

Side note on researching ancient tech documentation: I tried looking for
that "Secrets of ROM Revealed" book and Google completely failed me in a
way I haven't seen before. Even when I added "archive.org" to the search
terms and put "ROM" in quotes, it just gave me a link to people searching
for the book which led to a page on archive.org saying "This item was
removed". I tried Google Books and Hathi Trust and neither had ever heard
of it. I even tried a shadow library (Anna's Archive) and came up with
nothing. Just as I was beginning to think "the ROM" must have some very
deep secrets indeed to have buried this revealing exposé so completely, I
found the book! If you search archive.org directly instead of relying on
Google, it turns up. Here it is:
https://archive.org/details/secrets-of-rom-revealed, uploaded by our own
Brian K. White.  It's interesting that a reference book could nearly vanish
like that simply by not being properly indexed. Thank goodness for
archive.org!

—b9

On Thu, Jan 29, 2026 at 3:20 PM Stephen Adolph <[email protected]> wrote:

> I don't know that it is particularly well documented.
> Secrets of the Rom Revealed covered this for M100.
> I think if you look in the T200 rom you will find this code is used for
> bank switching, and also during boot up to check for option rom presence.
>
> I use it alot in REX.
>
>
> On Thursday, January 29, 2026, B9 <[email protected]> wrote:
>
>> Thanks! Where is that documented?
>>
>> I was getting lost looking at the T200's Technical Reference which was
>> way too low level (there was a diagram for the banks, but it showed setting
>> AD0, AD1, AD2 while asserting WR and Y, or some such silliness).
>>
>> --b9
>>
>>
>>
>> On January 29, 2026 5:13:03 AM PST, Stephen Adolph <[email protected]>
>> wrote:
>>
>>> yes, you need to bank-switch.
>>>
>>> * first, disable interrupts and keep them off
>>> * then send a specific byte to a specific IO port to see multiplan
>>>
>>> * access the memory, etc
>>>
>>> *  then send a specific byte to a specific IO port to get back to the
>>> main rom
>>> * enable interrupts
>>>
>>> IN 0D8h
>>> ani 00001100b ; keep the ram bits, zero out the rom bits
>>> ori 00000001b; enable multiplan rom
>>> OUT 0D8H
>>>
>>>
>>> IN 0D8h
>>> ani 00001100b ; keep the ram bits, zero out the rom rom bits
>>> OUT 0D8H
>>>
>>> think this should do it.
>>>
>>> On Thu, Jan 29, 2026 at 4:29 AM B 9 <[email protected]> wrote:
>>>
>>>> What with talk of uploading the ROMs from Model-T computers, I spent
>>>> some time learning how to implement a tiny CRC-16 checksum in machine
>>>> language (using the Xmodem polyomial and a seed of 0). It works great on
>>>> the Model 100 and 102. However, I just realized I have no idea how to read
>>>> the entire ROM from a Tandy 200.
>>>>
>>>> I've heard it said that the Tandy 200 has 72K of ROM. I believe 40K is
>>>> visible from BASIC and the other 32K is visible when Multiplan is launched.
>>>>
>>>> Does anyone know how I can read the Multiplan ROM from either BASIC or
>>>> assembly language?
>>>>
>>>> Thanks!
>>>>
>>>> —b9
>>>>
>>>

Reply via email to