Skip to content

Some attribute implementations not matching VIC-III behaviour #922

@ki-bo

Description

@ki-bo

Test Environment (required)
You can use MEGAINFO from within FREEZER to obtain this information
(long press RESTORE to enter FREEZER, then press HELP to start MEGAINFO)

  • Platform: MEGA65
  • Core Commit: 0.97
  • ROM Release: 920417

Describe the bug
The VIC-III attributes implemented on the MEGA65 do not behave as on a real VIC-III. These are the differences:

  1. Blinking of characters is much slower. On VIC-III, blinking frequency is the exact same as the screen editor's cursor.
  2. The highlight bit (bit 6) should use palette colours $10-$1F instead of $00-$0F for both character foreground as well as background colour. On VIC-IV, the foreground colour is taken from palette $1x while the background colour still is taken from the $0x range.
  3. If enabling both highlight (bit 6) and reverse (bit 5), the character should swap fg and bg colour. This is correctly implemented on VIC-III, but not on VIC-IV. It is working correctly if highlight is not enabled, but there is no reason why it should not work in combination with that bit.

To Reproduce
Steps to reproduce the behaviour:

  1. Execute the attached asm program with VIC-III and VIC-IV and check the differences

attr_test.zip

Expected behaviour
See attached screenshots for the two states with a real VIC-III chip (CSG 4567R5).

Additional context
Note that the palette definition is the same for the first 16 colours on C65 and MEGA65, but the second set of 16 colours ($1x) is different. This is intentional and is not the problem here.
In the attached test program, I explicitly set color $16 to black, as 6 was set as background color. Enabling highlight should use $16 as bg colour instead of $06, which indeed is the case on a VIC-III (and also is defined in the C65 specification document).

Image
Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    newNew report, not classified yet

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions