Skip to content

konami k053246 sprite zoom info/test rom (simpsons) #14736

@jwestfall69

Description

@jwestfall69

Hi

I saw there was an old mametester bug [1076](https://mametesters.org/view.php?id=1076 that sounded like sprite zoom issues in the simpsons. I added a test to mad for simpsons that allows exploring how the k053246 is zooming.

test rom:
mad-simpsons-2025-12-27d.zip

Here are videos/data of it running on hardware. Note I ran them with the keep ratio bit set.

16x16 zoom in:
https://github.com/user-attachments/assets/baa5e43f-0cbd-4ff7-a37c-265e27682858

16x16 zoom out:
https://github.com/user-attachments/assets/091ae417-0c04-4190-ba1a-17cc01a891a5

raw data for 16x16 sprite:

0x156: 2x2
0xcd: 4x4
0x93: 6x6
0x72: 8x8
0x5e: 10x10
0x4f: 12x12
0x45: 14x14
0x40: 16x16  <-- Start Size
0x3c: 18x18
0x35: 20x20
0x30: 22x22
0x2c: 24x24
0x28: 26x26
0x25: 28x28
0x23: 30x30
0x21: 32x32
0x1f: 34x34
0x1d: 36x36
0x1b: 38x38
0x1a: 40x40
0x18: 42x42
0x17: 44x44
0x16: 46x46
0x15: 48x48
0x14: 52x52
0x13: 54x54
0x12: 56x56
0x11: 60x60
0x10: 64x64
0x0f: 64x68
0x0e: 64x74
0x0d: 64x78
0x0c: 64x84
0x0b: 64x94
0x0a: 64x102
0x09: 64x116
0x08: 64x128
0x07: 64x146
0x06: 64x170
0x05: 64x204
0x04: 64x???
0x03: 64x???
0x02: 64x???
0x01: 64x???
0x00: 64x???

32x32 zoom in:
https://github.com/user-attachments/assets/7f1767c0-4264-4e89-a9a7-cca58d163325

32x32 zoom out:
https://github.com/user-attachments/assets/93e64e7e-dff6-4bce-bbea-79a862b317ca

raw data for 32x32 sprite:

0x2ab: 2x2
0x19a: 4x4
0x125: 6x6
0xe4: 8x8
0xbb: 10x10
0x9e: 12x12
0x89: 14x14
0x79: 16x16
0x6c: 18x18
0x62: 20x20
0x5a: 22x22
0x52: 24x24
0x4c: 26x26
0x47: 28x28
0x43: 30x30
0x40: 32x32 <-- Start Size
0x3e: 34x34
0x3a: 36x36
0x37: 38x38
0x34: 40x40
0x31: 42x42
0x2f: 44x44
0x2d: 46x46
0x2a: 48x48
0x29: 50x50
0x28: 52x52
0x26: 54x54
0x25: 56x56
0x23: 58x58
0x22: 60x60
0x21: 62x62
0x20: 64x64
0x1f: 66x66
0x1e: 68x68
0x1d: 70x70
0x1c: 74x74
0x1b: 76x76
0x1a: 78x78
0x19: 82x82
0x18: 86x86
0x17: 90x90
0x16: 94x94
0x15: 98x98
0x14: 102x102
0x13: 106x106
0x12: 112x112
0x11: 120x120
0x10: 128x128
0x0f: 128x136
0x0e: 128x144
0x0d: 128x158
0x0c: 128x170
0x0b: 128x186
0x0a: 128x204
0x09: 128x228
0x07: 128x???
0x06: 128x???
0x05: 128x???
0x04: 128x???
0x03: 128x???
0x02: 128x???
0x01: 128x???
0x00: 128x???

General observations

  1. If the sprite is going to change size, its symmetrical. ie if the sprite is going to change size in the X direction the same number of columns will get added/remove from both sizes of the sprite. So the size of the sprite will always increase/decrease by an even number of rows and/or columns.
  2. X zoom value seems to have a lower limit of 0x10. Any value below that will not cause any additional increase in width. This holds true even when keep sprite ratio bit is set. Y will keep growing but X will stop once it hits 0x10.

Be mindful this test is just showing the change in sprite's size and nothing about how the IC is scaling the sprite data within it. This is really noticeable in the following video of mad's sprite viewer

scale.mp4

Which shows the sprite's width increase stop at 0x10, but values below that the IC is still scaling pixel data within the sprite.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions