Skip to content

Latest commit

 

History

History
46 lines (36 loc) · 2.4 KB

File metadata and controls

46 lines (36 loc) · 2.4 KB

Startup core for MiSTer

Native CRT video (this fork)

This fork drives the analog output with a native 15 kHz signal generated by the core itself: 352x240p60 (NTSC) by default, with 720x480i60 and 352x288p50 (PAL) selectable by the ARM-side launcher through a DDR control block (see DDR contract). There are no video options in the OSD — the mode and the H/V centering trims are owned by the launcher. Idle video stays black during frontend handoff; upstream-style snow appears behind the stock OSD. Native frontend frames take priority over both backgrounds.

Native writers must use the v2 magic and publish a live frame counter. The legacy 320-pixel, no-magic DDR contract is no longer accepted.

Note: forced_scandoubler (the "Forced scandoubler" MiSTer.ini setting) is ignored by this core — the analog output is always 15 kHz. If your VGA output feeds a 31 kHz-only monitor, set vga_scaler=1 in MiSTer.ini instead.

  • ESC - Back/Options
  • Enter - OK
  • F1 - Cycle Background/Wallpaper
  • F9 - Go to Linux terminal (F12 - back)
  • F11 - Bluetooth Pairing Script
  • F12 - Recent Cores

RTL tests

Install Icarus Verilog 12 and GNU coreutils, then run sh tb/run.sh from the repository root. CI runs the same native timing, DDR reader, scanout latch, snow cadence and bootstrap-black suites on Ubuntu 24.04. Assertions, compilation failures, and a 600-second timeout per simulation fail the run. Generated simulators stay in ignored test-output/rtl/.

Quartus builds must also pass python3 tb/check_timing.py output_files/menu.sta.rpt. CI rejects missing or negative setup, hold, recovery, removal and pulse-width results, even when Quartus reports successful compilation.

Notes:

  • Core supports sub-folders started with _ character.
  • Regardless the place of RBF file, boot rom/vhd should be placed into either root of SD card or core's dedicated folder (should be created in root of SD card).
  • Joystick (including emulation by keyboard) buttons defined in this core is default map for all cores unless defined in particalar core.

Wallpaper

  • Place menu.png or menu.jpg to the root of SD card to have it as background on HDMI (you can use vga_scaler=1 if you want it on VGA).
  • Create "wallpapers" folder and place multiple .jpg or .png to it. Use F1 to cycle between standard MiSTer backgrounds and wallpapers in folder.