[Coco] Interrupt Vectors Physical Location ???

RETRO Innovations go4retro at go4retro.com
Sat Dec 28 18:57:28 EST 2019


On 12/28/2019 5:36 PM, Arthur Flexser wrote:
> If I'm understanding you correctly, you're suggesting that it would have
> made more sense to put the vectors at the top of Extended Basic rather than
> the Color Basic ROM.  The clear problem with that is that many CoCo's,
> especially in the early days, were sold with ONLY the Color Basic ROM, no
> Extended Basic.

Well, my position was that you could have burned Color BASIC into 
$e000-$ffff and placed it at ROM2 location.  But, with SAM doing what it 
did, it only makes sense to put COlor BASIC at $b000 and that way, your 
8kB ROM has the vectors in it.

I think I see what Moto was thinking.  $c0-$ff (ROM2) is a 16kB ROM, and 
they were targeting a games-capable system, so they wanted a 16kB game 
ROM location.  Then, they needed a smaller chunk of decoded ROM for 
internal code, which is ROM1, with more at ROM0, if needed.  Putting the 
main vectors at $bffx meant only sacrificing 16 bytes of ROM in an 8kB 
system, whereas placing the 8kB ROM at $e000 would have removed 256 
bytes from use ($ff00-$ffff).

Jim
> Art
>
> On Sat, Dec 28, 2019 at 5:33 PM RETRO Innovations <go4retro at go4retro.com>
> wrote:
>
>> On 12/28/2019 4:09 PM, Arthur Flexser wrote:
>>> That would be $BFF2-BFFF in the Color Basic ROM.  No idea how the magic
>> is
>>> accomplished that causes them to appear at $FFF2-FFFF.
>> The Magic is called "SAM" :-)
>>
>> Grab a datasheet for the sn74ls783 (74ls naming for the SAM IC).
>>
>> Look at page 17.
>>
>> Notice that the vectors are listed at top middle, in the "fine"
>> section.  It's an expansion of $ff00-$ffff.  On the left side of the
>> fine section, you see "S=" things.  The S means the output of the SAM
>> pins S0,S1,S2, which the designer then needs to feed to a 74ls138, which
>> is the reference Motorola design that begat the CoCo.
>>
>> Well, the vectors are listed besides S=2.  Now, if you look at the left
>> side ("course", which is the wrong spelling, it should be "coarse"), You
>> see that ROM1 is also listed besides S=2.  So, this means that the
>> vectors should be placed in the top of the ROM1 ROM.  Why the SAM didn't
>> put them at the top of the S=3 (ROM2) ROM, I have no idea, because it
>> just wastes $bff2-$bfff, whereas $fff2-$ffff is always unused in ROM2.
>>
>> Jim
>>
>> --
>> Coco mailing list
>> Coco at maltedmedia.com
>> https://pairlist5.pair.net/mailman/listinfo/coco
>>

-- 
RETRO Innovations, Contemporary Gear for Classic Systems
www.go4retro.com
store.go4retro.com



More information about the Coco mailing list