[Coco] nitros9l2 artifact colors?
Arthur Flexser
flexser at fiu.edu
Sun Feb 22 04:49:03 EST 2015
BTW, in checking out these $FF98 mirror locations, I believe I discovered a
previously unnoticed bug in the Super Extended Basic setup code contained
in the internal ROM's patcher routine. Looks as though (at $C172 in the
code that is executed if F1 is being pressed) they wanted to set bit 5 of
$FF98 for the alternate artifact color set for the HSCREENs, but altered
$E070 and $E079 instead of $E071 and $E07A. (For the text screens, they
have a LEAX 1,X at $C163 to get the appropriate offset in the byte table to
access the value for $FF98, but they appear to have forgotten this for the
hires graphic screens so they are setting bit 5 for $FF90 instead of $FF98,
an IRQ enable bit.) Can anybody (William? Darren?) confirm that this is in
fact a bug and that I have not misread the intent of the code or otherwise
been misguided? (Super Extended Basic Unravelled does not note a bug here.)
Art
On Sun, Feb 22, 2015 at 3:34 AM, Arthur Flexser <flexser at fiu.edu> wrote:
> I'm reasonably sure that Basic does not update $FF98 on interrupts. I
> believe the updating of $FF98 must be going on somewhere else, perhaps when
> a character is output to the screen.
>
> Some $FF98 mirror bytes in Super Extended Basic that you might set bit 5
> of to see if it solves the problem:
>
> $E033 (32 column text)
> $E03C (40 column text)
> $E045 (80 column text)
> $E071 (HSCREEN 1-2)
> $E07A (HSCREEN 3-4)
>
> Art
>
> On Sun, Feb 22, 2015 at 2:05 AM, Willard Goosey <goosey at virgo.sdc.org>
> wrote:
>
>> On Sat, Feb 21, 2015 at 10:16:25PM -0500, Arthur Flexser wrote:
>> > The artifact color mode is controlled by bit 5 of $FF98. Pressing F1 at
>> > reset sets this bit and puts the CMP colors into the palette registers.
>> > Hope that helps.
>>
>> It did, actually!
>> PROCEDURE foo
>> a=PEEK($FF98)
>> a=LAND(a,$F7)
>> PRINT a
>> a=LOR(a,$20)
>> PRINT a
>> POKE $FF98,a
>> END
>>
>> This did invert the artifact colors! (The and $F7 is to clear the
>> 50herz bit which seemed to be set?) Or anyway it made the text screen
>> turn purple, which is what happens when I hit the RESET switch with F1
>> down.
>>
>> Unfortunately, when I started CITY, it reset the colors again, so I
>> still had a red sky. :-( Apparently the game insists. Or covdg resets
>> the colors when a graphics mode is selected?
>>
>> The Disk BASIC version of the program didn't do anything, obviously
>> BASIC maintains a byte somewhere with what it thinks FF98 should be
>> and updates it on an interrupt cycle.
>>
>> Willard
>> --
>> Willard Goosey goosey at sdc.org
>> Socorro, New Mexico, USA
>> I search my heart and find Cimmeria, land of Darkness and the Night.
>> -- R.E. Howard
>>
>> --
>> Coco mailing list
>> Coco at maltedmedia.com
>> https://pairlist5.pair.net/mailman/listinfo/coco
>>
>
>
More information about the Coco
mailing list