[Coco] GIME questions

David Gacke dgacke at ektarion.com
Mon Aug 16 10:19:06 EDT 2004


Hi Robert,

Sorry it wasn't clear. So far, you are correct though.  I am stepping
thru the code with my dsPIC CPU that I'm coding, not a 6809 or 6309 and
am trying to figure out what I broke.

To try and put it simply, by looking at that startup code, what would
make a shadow copy of what is located at C000 appear at 4000.

Which GIME registers bits would I set if I wanted to do this
intentionally?

I've stepped thru the code and am not finding a broken instruction. I
want to fully understand how to reproduce this intentionally, maybe then
I can figure out what is going wrong.

This one has me a little bit stumped, especially since I've never really
done assembly on the CoCo (lots of other systems though), and I've never
twiddled the bits on the GIME before.

Thanks very much for the assistance.

Dave


-----Original Message-----
From: coco-bounces at maltedmedia.com [mailto:coco-bounces at maltedmedia.com]
On Behalf Of Robert Gault
Sent: Monday, August 16, 2004 8:42 AM
To: CoCoList for Color Computer Enthusiasts
Subject: Re: [Coco] GIME questions

Robert Gault wrote:
> David Gacke wrote:
> 
>> Hi Guys,
>>
>> I've got a GIME problem and I'm not sure what's going wrong. For some
>> reason, "I think", it's not mapping RAM correctly.
>>
>> I'm stepping thru the startup ROM code on my CoCo 3, which matches
the
>> version I'm looking at in MESS. Just a plain old CoCo3 ROM.
>>
>> Anyway, there's a write to $FF90 with a value of 0x0A, then there's
some
>> startup code to set palette registers to all green, then there's some
>> code to start copying code from $C03F to $4000.
>>
>> This is where I get into trouble. Immediately after writing the first
>> word, with the STD, Y++ instruction, I read back the contents. The
>> address I'm reading from is $4000 and I'm seeing the same data that
is
>> at $C000.
> 
> 

OK just so everyone is on the same page, the code in question is from 
the 32K ROM in a Coco3 and is as follows:

  lda #Coco+MMUEN+MC3+MC2+MC1
  sta $$FF90
  leax begmove,pcr
  ldy #$4000
LC02F ldd ,x++
  ldu ,x++
  std ,y++
  stu ,y++
  cmpx #endmove
  bcs LC02F
  jmp $4000

David asked why when stepping through this code, the contents of $4000 =

that of $C000. He may have meant begmove. Regardless, the content at 
$4000 should be RAM and will look like whatever regY contained after the

std ,y++.

David, would you clarify what your problem is?


-- 
Coco mailing list
Coco at maltedmedia.com
http://five.pairlist.net/mailman/listinfo/coco





More information about the Coco mailing list