Scanlines patch for ZZ9000 firmware - need zz9000_ps.bd from 1.13

Hi,

I’ve been working on adding parametric scanlines to the ZZ9000 firmware for AGA scandoubler output, similar to what Indivision offers. The patch is minimal and verified.

What’s been done:

video_formatter.v — 4 modifications:

  • New input port scanline_intensity [7:0]

  • Two internal registers vga_scanline_intensity and pixout_sl

  • Synchronisation on dvi_clk

  • Attenuation applied on odd lines only when vga_scale_y=1 — AGA native mode only, RTG is fully protected

mntzorro.v — 4 modifications:

  • New output port scanline_intensity_out [7:0]

  • Internal register scanline_intensity initialised to 0 (scanlines off by default)

  • Zorro register 'h08 mapped to scanline_intensity

  • Output connected to video_formatter

The logic has been verified in Vivado 2025.2 simulation — 5/5 tests pass covering AGA/RTG discrimination, intensity=0, intensity=128 and intensity=255.

An Amiga-side 68k binary ZZScanlines writes the intensity value to register 'h08 via FindConfigDev — compiled, tested and working on a real A4000 with ZZ9000.

The problem:

The firmware 1.13 GitLab repo is missing zz9000_ps.bd. I used the block design from the older GitHub master repo as a workaround, which allowed synthesis and routing to complete successfully with 0 unrouted nets — but there is a pre-existing timing violation (WNS=-1.866ns) that I suspect comes from this version mismatch, not from my patch.

What I need:

The file zz9000_ps.bd from a clean firmware 1.13 build environment, or alternatively someone with a complete 1.13 Vivado project who could compile the two patched .v files and generate a clean BOOT.bin.

I can provide the patched video_formatter.v and mntzorro.v.

Thanks

1 Like