Skip to content

FliperOS 0.10

Latest

Choose a tag to compare

@github-actions github-actions released this 17 Oct 06:30

The Setup has a graphical interface: on the cabinet every menu is a carousel of big icons over an animated background (snow, water, fire, smoke, stars), and over SSH the same menus stay in text. Also new are a flicker filter for 480i, the choice of 640x240 or 480i for each program, colour calibration, a custom monitor range made on the geometry grid, and the choice between the radeon and amdgpu drivers on the AMD cards that work with both. The 0.9.1 ISO never got out (its build stopped on GitHub), so everything written for it below comes in this one. The amdgpu driver was seen working at 15 kHz on the cabinet's R7 240; the 480i filter and the colour calibration have not been seen on a CRT yet. An installed 0.9 already has updates 16 and 17; the rest of this list comes with this ISO.

The MAME ROM Cleaner works out of the box: catver.ini, nplayers.ini and controls.xml now ship in the image, so the categories, adult games, play mode and real button count filters show without copying anything. The 0.9 ISO left their folder empty. Also new are the versus scoreboard on the LED display for fighting games, the game outputs for light guns and button lights, and Arcadeflow as the Attract-Mode Plus theme. None of the scoreboard and outputs work has been tried with a real gun, LED board or two-player match on the tube. The ISO comes with updates 16 and 17 already applied; an installed 0.8.x or 0.9 gets the same changes through the updates at boot.

System changes:

  • Graphical Setup. On the cabinet the FliperOS menu and the whole Setup open in a graphical interface (pygame, 320x240 stretched to the tube): menus as carousels of icons, the official icon of each program, the ROM filter as a board of tiles with the GAMES / SIZE count of what passes, the Button mapping panel and the Buttons layout drawn, the GunCon 2 calibration drawn with a target and the shots, and a new animated background each time the menu opens. On a vertical monitor the menu stands up with the tube. Over SSH, on the installation media or without KMS video the Setup is the text one, as before; ui=text in fliperos.conf keeps it in text
  • 480i flicker filter, like RePlayOS's: an OpenGL layer over every emulator and frontend (picom on the desktop) that softens the line flicker of 480i, in light, medium or strong
  • Video driver: radeon or amdgpu on the AMD cards that work with both (GCN 1.0 and 1.1: HD 7000, R7/R9 200 and 300, like the R7 240), in Video Setup and in the installation. The Setup finds out from the kernel modules themselves whether the card has the choice. radeon is the recommended one and the default: 15 kHz was validated on it. amdgpu brings Vulkan, was seen working at 15 kHz on an R7 240, and goes in with amdgpu.dc=0, because the 6.18 kernel has no VGA/DVI-I output in amdgpu's new display code for these cards. Every switch is on trial: the next boot asks to confirm the picture with Enter within 15 s, and with no answer (no picture) it goes back to the previous driver and restarts by itself; a trial boot that hangs goes back at the next boot. With amdgpu set, the boot menu (a key during boot) also has a FliperOS - radeon driver entry. The first time the menu opens, a card running on the driver that is not the recommended one gets a popup offering the switch, once
  • Game mode: with a game set to open at boot, it opens before everything else. The update check, the ~/roms folders and the frontends' lists wait until the game closes, and the network is not waited for (on the cabinet the game took 56 s to open, 36 of them waiting for the network)
  • Volume leveler (Audio Setup), off by default: a compressor in ALSA's default, where every emulator goes through, so loud and quiet systems come closer to the same volume, with no added delay
  • Flycast: no loading screen (the screen stays black while the game loads; a loading error still shows), and Texture Filtering in Force Nearest, sharp pixels as on the board
  • The NVIDIA firmware is back in the image: without it nouveau does not accelerate the newer cards
  • Attract-Mode Plus: the joysticks come in the kernel's order. With two joysticks whose input numbers cross 9/10 (a split double encoder does), the frontend's Joy0 was the second player
  • Attract-Mode Plus opens about 5 s sooner after the menu, and an arcade list is rebuilt only when its folder changes (it was redone at every opening)
  • Arcadeflow in 640x240 is drawn for a 4:3 screen and stretched to the width: everything came out twice as wide. The context menu and the grouped clones work, opening a clone, and the clones of a merged romset are no longer marked unavailable
  • A Wi-Fi network connected in the Setup looks for FliperOS updates right away; on a new install the update only showed at the next boot
  • GroovyMAME no longer closes at its game list. The slimmed image came without libX11.so, libXrandr.so and libdrm.so, which Switchres opens by name, so no video mode was created. The build and the update put those names back
  • Scraper: art packs by torrent. Setup > Games > Scraper > Art packs by torrent brings logos and videos from torrents, already filled with Internet Archive packs for MAME, Naomi, Atomiswave, Model 2 and Model 3. A pack only downloads when its folders have ROMs, and only the files of the games you have. Your own torrents can be added. On the cabinet only a test download was tried, not the screens on the tube
  • Scraper: choose the provider and log in. Scraper provider picks ScreenScraper, TheGamesDB, ArcadeDB, progetto-SNAPS, MobyGames, IGDB or OpenRetro, and saves the account of the ones that ask (user and password, or API key). The ScreenScraper password used to be asked on every scrape
  • ROM Cleaner: the Naomi, Naomi 2 and Atomiswave games are filtered by the controls they really use. MAME's XML gives nearly all of them the board's generic panel (an 8-way joystick and 6 buttons), so steering wheel, flight stick and light gun games passed as joystick games (Ferrari F355, Initial D, Club Kart, Ninja Assault...). Their controls and buttons now come from Flycast's own game table
  • The ROM Cleaner's data files are in the image, in /usr/local/share/fliperos/romclean: catver.ini 0.289 (progetto-SNAPS), nplayers.ini 0.278 (NPlayers, CC BY-SA 3.0) and controls.xml 0.141.1 (Controls.dat). Files of your own in the romset folder, or in the one above it, are used instead. The AttractPlus ROM List gets its categories from the same catver.ini
  • Downloader and MAME CHD Cleaner: from a game's CHD folder only the disks of the chosen versions are taken. In a merged CHD collection the parent's folder holds the disks of every version, and all of them were downloaded or copied
  • Versus scoreboard on the LED display. In a fighting game, the Pixelcade or ZeDMD shows each side's character and the wins of the session. It works in about 200 games in GroovyMAME and 100 in RetroArch's FBNeo core, through Fightcade's detectors (downloaded by Extras > Pixelcade or ZeDMD, not in the image), and in the Sega Model 2 fighters. The list is in Scoreboard games
  • Game outputs (recoil, lamps, motors). GroovyMAME, Flycast, Supermodel and SM2-Emu publish them on port 8000, the MAMEHooker protocol, only while an outputs reader from Extras is installed
  • Setup > Joysticks > Buttons layout: where the buttons of a game go on the panel, by how many buttons the game uses (1 to 5). A 4-button game can be 1 2 on top and 3 4 below, or 1 3 on top and 2 4 below. For GroovyMAME, RetroArch's MAME and MAME 2010 cores, Model 2 (SM2-Emu) and Model 3 (Supermodel). In Model 2 the panel's button N is now the game's button N; button 1 used to be on the bottom row Joysticks now comes right after Network Setup in the Setup
  • Buttons layout in RetroArch's MAME 2010 core: Tekken 3 and the other games that MAME 0.139 numbers by the board's button block (1 2 4 5 of 6) keep their buttons in place. The layout of the 4-button games moved them, and one kick button did nothing
  • Setup > Emulators & Games, after Frontend: the emulators of the desktop menu, each marked installed or not installed, and the installation of the ones that don't come in the image. Model 2 is downloaded and built from there, Fightcade 2 is downloaded, and KOF Final Attack is converted to Ikemen GO in 4:3 at 320x240 from the folder of the original game you bring, with the 4:3 patch. Splash screen is now the last item of the Setup
  • The cabinet's power button closes the open game and returns to the frontend. In the frontend, the menu or the desktop it shuts down, as before
  • When the session drops, the frontend closes with it. A frontend left running with no screen kept the sound card open, and GroovyMAME was silent in every game
  • Fightcade at 15 kHz: the screen runs at the game's own refresh rate also for the games that stay in a table mode (vertical games, widths the modeline cannot make exact)

Package changes:

  • RetroArch, Flycast and Dolphin are built with Vulkan, for the amdgpu driver. RetroArch's default stays glcore, and Flycast goes back to OpenGL while the 480i flicker filter is on. PCSX2 was seen running in Vulkan on the CRT with amdgpu (R7 240)
  • An emulator no longer fails to open, with no message, when the colour calibration cannot be applied (another program holds the screen): the launchers go on without it
  • ES-DE in 640x240 draws its interface in 4:3 (320x240) and stretches it 2x horizontally, so text and pictures keep their proportions on the tube (not yet seen on the CRT)
  • RetroArch: the FinalBurn Neo core comes in the image
  • RetroArch: one press of Esc closes the game. It asked for a second press with a notice that FliperOS keeps hidden
  • RetroArch's FBNeo core opens the console sets (Mega Drive, Master System, ZX Spectrum and the like) that sit loose in the arcade folder
  • ES-DE: RetroArch games open again; they closed in the same second with no error
  • ES-DE: returning from a game no longer leaves the screen black, and the preview video no longer plays under the game
  • ES-DE: Model 2, Model 3 and the MAME cores show their own logo in place of the arcade one
  • Attract-Mode Plus: Arcadeflow is the default theme. Setup > Frontend downloads it (it has no license, so it is not in the image); without network the displays stay on Basic. The select button opens the game on the first press
  • Attract-Mode Plus: Arcadeflow starts the video of the game under the selector sooner (the theme's "Video delay multiplier" at 0.25x: a quarter of a second in place of one before it loads the video)
  • Attract-Mode Plus: in Arcadeflow's displays menu, the Supermodel display has the Sega Model 3 logo, and the MAME 2010 one is MAME 2010, with the MAME logo and picture and a tilted "2010" on them, apart from GroovyMAME's MAME. Every FliperOS display gets the logo of its system (GameCube for Dolphin, PlayStation for its RetroArch cores...); only the ones named like the system had it
  • ~/media: every type of art (snap, preview, logo, box, marquee, dmd, texto) has the same folders as ~/roms (mame, model2, naomi, retroarch/mame2010...) in place of one per scraper platform (arcade, snes). Each games folder has its own art, and its own custom folder in Setup > Folders (~/media/preview/model2 on another disk). What was in the platform folders is moved the next time the launcher opens; the other arcade folders still look in the mame one after their own
  • Attract-Mode Plus: selecting games no longer leaves a zombie process behind each one
  • Attract-Mode Plus: a game copied to a folder that already had its list shows up the next time the frontend opens, and a deleted one leaves. The list was made once and never looked at the folder again. An arcade list made by AttractPlus ROM List is still redone there
  • SM2-Emu: FliperOS's patch adds recoil, ammo, life and credits to the outputs of the gun games (Virtua Cop, Virtua Cop 2, House of the Dead, Gunblade NY, Behind Enemy Lines, Rail Chase 2), credits to 21 games and each side's rounds to the fighters

fliperos-setup changes:

  • Video Setup > 480i games: a table of every program (emulators, RetroArch cores, Fightcade, the desktop) where each one gets 640x240, 480i with the flicker filter at its own level, with a preview on the tube, or pure 480i. Saved as it changes
  • Video Setup > Colour calibration: brightness, contrast, gamma, colour temperature, gain, black level and gamma for each gun, saturation and hue (by software on cards without a colour matrix, like the R7 240 on radeon) and the RGB range. Test patterns on the tube (colour bars, grey steps, black and white level, ColorChecker) or the numbers over SSH
  • Video Setup > Monitor Type > Custom, right after Generic 15.7 kHz: the monitor's own range (crt_range0), made on the Geometry grid or typed, on top of the preset in use; choosing a preset undoes it. The Geometry grid no longer closes at the first arrow (it opens 8 pixels wider than the boot mode, like GroovyArcade's 648), and an error of the tool shows as an error, not as cancelled
  • Setup > System > Services: SSH, the network share, fliperos.local, the Wi-Fi radio, the Downloader and Wait for network, each at boot, after boot (about 40 s later) or off. Setup > System > Password changes the fliperos password for login, SSH and the share
  • Setup > Games > Downloader > Download BIOS: only the BIOS the games in each ~/roms folder lack (from each RetroArch core's .info, MAME's XML for the arcade sets, and PCSX2's and Flycast's), file by file, from the Batocera 36 BIOS pack on the Internet Archive. It also checks by itself, in the background, each time the menu opens. Tried on the cabinet (the four PS1 BIOS, the PS2 one, Naomi and Neo-Geo); the screens were not seen on the CRT
  • Setup > Games > Custom games: games and programs that are not a ROM (a PC game, your own emulator, a script), in groups the frontends show as systems, each with its video mode (240p, 480i or WIDTHxHEIGHT@HZ)
  • Setup > Games > Folders: a custom folder for ~/roms, ~/bios, ~/media, ~/splashscreen or any folder inside them (an emulator, a RetroArch core, a type of art). It becomes a link to the folder chosen on a disk, and the one before stays beside it as old-<name>; nothing is copied or deleted
  • Button mapping: Keyboard encoder (MAME default keys) writes MAME's keys of each player to RetroArch, GroovyMAME, Supermodel, Hypseus, Flycast and OpenBOR. The mapping also reaches Attract-Mode Plus, Flycast gets the hat D-pad (an Xbox 360 style controller had none) and the triggers, and a trigger saved inverted, which held a button down at rest in every emulator, is fixed, also in an old buttons.map. Fightcade's Dojo gets Flycast's video and control options
  • Buttons layout in MAME with a keyboard: one key no longer presses two buttons when the layout moves them
  • Downloader: switching the filter to another emulator no longer deletes the games the previous one brought (the Naomi and Atomiswave games left when the filter went to GroovyMAME)
  • The ROM filter starts from the monitor's orientation: only horizontal games on a horizontal monitor, only vertical ones on a vertical monitor
  • fliperos-menu typed over SSH opens the Setup in text there; frontends, games and the desktop open only from the cabinet
  • Every Setup menu opens on its first item, and Games comes before Joysticks
  • The progress screen fits the 15-line console of 640x240 (the Downloader scrolled the screen)
  • The Setup is grouped, in the order of setting up a cabinet: Video Setup, Audio Setup, Network Setup, Joysticks, Games (Frontend, Emulators & Games, Folders, Downloader, Cleaner, Scraper, AttractPlus ROM List) and System (Extras, Latency, System Update, Debug mode, Splash screen). Quirks is inside Joysticks. It was one list of 17 items
  • Info balloons: under the list, a balloon says what the item under the cursor is for, in the FliperOS menu, the Setup and its groups, Video, Audio and Network Setup, Joysticks and the Downloader. It needs the gum of this ISO: a system that came from an older ISO shows the same menus without the balloons
  • MAME ROM Cleaner on a MAME 2010 romset: the Naomi and Atomiswave games the filter leaves out go with the rest. They were always kept (for Flycast, which can't read that romset) and showed up in the MAME 2010 list
  • MAME ROM Cleaner and Downloader filter: Data files shows the three files that ship with FliperOS and their version
  • AttractPlus ROM List: every folder with games gets its display, also one removed before; a folder left without games loses its display, and Arcadeflow reads a rebuilt list
  • Extras: Hook Of The Reaper (through Wine), QMamehook (native, for serial-port guns) and LEDSpicer (button lights), the readers of the game outputs. None of them is in the image
  • Extras > Pixelcade, with Pixelcade installed: update it, or install the paid art pack with the license code of the purchase
  • The frontends no longer list Fightcade's whole ROM collection as FBNeo games

Tool changes:

  • New fliperos-color (applies the colour calibration through DRM and in X) and fliperos-gui (the graphical Setup)
  • New fliperos-versus (the scoreboard), fliperos-outputs (the outputs readers), fliperos-arcadeflow, fliperos-fbneo (the system of each FBNeo set) and fliperos-powerkey
  • tools/verify-iso.sh checks that the three ROM Cleaner data files in the image are the repository's

Documentation:

  • The wiki spells out the address, user and password for SSH, SFTP and the network share
  • New page: Scoreboard games
  • ROMs page: where the ROM Cleaner's data files come from and how to use newer ones
  • Website: the displays section (ZeDMD and the scoreboard) and a section on open hardware

Download:

SHA-256 of fliperos-0.10.iso: 316b70e04a73927d4de85039eb5298c4d111bfc47f6dda23677206d68f1d383a (sha256sum -c fliperos-0.10.sha256 checks everything downloaded).

Write the ISO byte for byte and disable Secure Boot: Install.