mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-10-11 05:53:23 -05:00
PS2, PS3, Xbox 360, Atari, C64, BBC Micro and arcade front-ends read from their own source trees.
169 lines
7.8 KiB
YAML
169 lines
7.8 KiB
YAML
emulator: ArcadeFlashWeb
|
|
type: standalone
|
|
core_classification: launcher
|
|
source: "https://github.com/aureyoboss/ArcadeFlashWeb"
|
|
upstream: "https://github.com/aureyoboss/ArcadeFlashWeb"
|
|
profiled_date: "2026-08-11"
|
|
source_commit: "5de66e0cd69b48721a094887a28d042f71ddad08"
|
|
core_version: "1.0.2"
|
|
display_name: "Adobe Flash (ArcadeFlashWeb)"
|
|
cores:
|
|
- arcadeflashweb
|
|
systems:
|
|
- flash
|
|
|
|
notes: |
|
|
Qt 5.13 application that plays SWF files by hosting Adobe's Pepper Flash
|
|
runtime inside a QtWebEngine view. Windows only. ES-DE runs
|
|
ArcadeFlashWeb.exe -fullscreen -source:<rom>, RetroBat adds -nodatetime,
|
|
-savedataflash: and -picturesfolder: and sets the working directory to the
|
|
program folder. The repository carries the Qt and QML sources and the
|
|
releases; arcadeflashweb.com no longer resolves and holds no archived
|
|
capture. Every string quoted below was also read back from the shipped
|
|
v1.0.2 executable, which matches the sources.
|
|
ref: src/ArcadeFlashWeb.pro:1-5, src/main.qml:34-35
|
|
|
|
The runtime is registered from the command line. main sets
|
|
QTWEBENGINE_CHROMIUM_FLAGS to "--enable-pepper-testing
|
|
--ppapi-flash-path=./pepflashplayer.dll" before QtWebEngine::initialize, so
|
|
Chromium takes the plugin from that path. It is the one file resolved
|
|
against the process working directory; everything else below hangs off
|
|
applicationDirPath. No --ppapi-flash-version accompanies it, and nothing
|
|
reads the manifest.json sitting beside the library: QtWebEngine builds the
|
|
plugin entry from the two switches alone and the library never names that
|
|
file. The manifest is still what identifies the build, Pepper Flash
|
|
32.0.0.371 for win/ia32.
|
|
ref: src/main.cpp:37-44, ArcadeFlashWeb v1.0.2 manifest.json:2-7,
|
|
qtwebengine 5.13 src/core/content_client_qt.cpp AddPepperFlashFromCommandLine
|
|
|
|
A local movie is not handed to the view. The url becomes
|
|
file:///<appdir>/flash/flash.html?jeu=<rom>=<width>=<height>, and that page
|
|
splits the query on the equals signs, fits the movie to the window and calls
|
|
swfobject.embedSWF with scale exactfit and wmode direct. The version it asks
|
|
for is 32.0.0, so SWFObject creates the object only when the registered
|
|
plugin reports at least that. A -source: containing "http" loads in the view
|
|
unchanged and uses none of this.
|
|
ref: src/main.qml:317-347, src/Navigateur.qml:144-155,
|
|
ArcadeFlashWeb v1.0.2 flash/flash.html:38-104
|
|
|
|
Natural dimensions come from swfdump. When -swfwidth: and -swfheight: are
|
|
not both given, which is the case for both ES-DE and RetroBat, the program
|
|
runs cmd /C <appdir>/swfdump.exe -X -Y <rom> redirected to swf.txt in the
|
|
data directory and reads the second and fourth whitespace fields back.
|
|
ref: src/main.qml:109-128, src/main.qml:321-335, src/Navigateur.qml:147-148
|
|
|
|
-profilantimicro: starts AntiMicro hidden with a profile from
|
|
antimicro/profiles before the movie loads. Adding -controleurantimicro:
|
|
replaces that argument with --profile-controller, and the profile file is
|
|
then not passed at all.
|
|
ref: src/main.qml:305-314
|
|
|
|
Written rather than expected: swf.txt, the QML LocalStorage database holding
|
|
the last browser path with the bezel, screen mode and clock flags, the
|
|
QtWebEngine cache and persistent storage under -savedataflash:, and the JPEG
|
|
screenshots. The interface icons, the bezel, the CRT and scanline overlays
|
|
and the wallpaper are compiled in through qml.qrc, so of the images only the
|
|
copy under flash/images is read from disk, and it is byte for byte the
|
|
compiled one. Two files ship unread: flash/swfobject/expressInstall.swf,
|
|
which flash.html disables by passing false for the express install url, and
|
|
flash/swfobject/test.swf, which nothing names.
|
|
ref: src/qml.qrc:1-33, src/Sauvegarde.js:1-30, src/main.qml:132-159,
|
|
ArcadeFlashWeb v1.0.2 flash/flash.html:102
|
|
|
|
The remainder of the release is the Qt 5.13.2 deployment of the program
|
|
itself. VCRUNTIME140.dll and the UCRT stubs sit in the executable's import
|
|
directory, so the Visual C++ 2017 x86 redistributable has to be installed,
|
|
and the release carries its installer.
|
|
ref: README.md:59, ArcadeFlashWeb v1.0.2 ArcadeFlashWeb.exe import directory
|
|
|
|
files:
|
|
- name: pepflashplayer.dll
|
|
required: true
|
|
bundled: true
|
|
description: "Adobe Pepper Flash Player runtime"
|
|
note: >-
|
|
Handed to Chromium as --ppapi-flash-path and resolved against the process
|
|
working directory. Without it no plugin is registered, SWFObject finds no
|
|
player and the movie is never embedded. The page asks for a reported
|
|
version of at least 32.0.0; the build that ships is the 32-bit 32.0.0.371.
|
|
source_ref: "src/main.cpp:40, ArcadeFlashWeb v1.0.2 flash/flash.html:102"
|
|
|
|
- name: flash.html
|
|
path: flash/flash.html
|
|
required: true
|
|
bundled: true
|
|
description: "Page that embeds the movie"
|
|
note: >-
|
|
Every local SWF goes through it, carrying the path and the two dimensions
|
|
in the query string. Absent, the view is pointed at a file that does not
|
|
exist and nothing plays.
|
|
source_ref: "src/main.qml:327,334, src/Navigateur.qml:150"
|
|
|
|
- name: swfobject.js
|
|
path: flash/swfobject/swfobject.js
|
|
required: true
|
|
bundled: true
|
|
description: "SWFObject 2.2 embed library"
|
|
note: >-
|
|
The only definition of swfobject, included by flash.html before the script
|
|
that calls embedSWF. It reads the player version from the Shockwave Flash
|
|
plugin description, refines it from a probe object's $version, and refuses
|
|
to embed below the version the page asks for.
|
|
source_ref: "ArcadeFlashWeb v1.0.2 flash/flash.html:38, ArcadeFlashWeb v1.0.2 flash/swfobject/swfobject.js:1-4"
|
|
|
|
- name: background.jpg
|
|
path: flash/images/background.jpg
|
|
required: false
|
|
bundled: true
|
|
description: "Backdrop of the player page"
|
|
note: >-
|
|
Drawn behind the movie by the page's bg div. The same image is compiled
|
|
into the binary for the QML side, so only this copy is read from disk.
|
|
source_ref: "ArcadeFlashWeb v1.0.2 flash/flash.html:110, src/qml.qrc:23"
|
|
|
|
- name: swfdump.exe
|
|
required: false
|
|
bundled: true
|
|
description: "SWFTools swfdump, reads the movie's natural size"
|
|
note: >-
|
|
Run through cmd /C with -X -Y and the output redirected to swf.txt, then
|
|
parsed as the second and fourth whitespace fields. Skipped when both
|
|
-swfwidth: and -swfheight: are given. Absent, the redirection still
|
|
creates an empty file, both fields parse to NaN and the page sizes the
|
|
object from that.
|
|
source_ref: "src/main.qml:324-325, src/Navigateur.qml:147-148"
|
|
|
|
- name: antimicro.exe
|
|
path: antimicro/antimicro.exe
|
|
required: false
|
|
bundled: true
|
|
description: "AntiMicro gamepad to keyboard mapper"
|
|
note: >-
|
|
Started hidden before the movie loads, only when -profilantimicro: is
|
|
given. The copy that ships is a 2016 build carrying its own Qt 5 runtime
|
|
in the same folder.
|
|
source_ref: "src/main.qml:309,311"
|
|
|
|
- name: arcadeflashweb.gamecontroller.amgp
|
|
path: antimicro/profiles/arcadeflashweb.gamecontroller.amgp
|
|
required: false
|
|
bundled: true
|
|
description: "AntiMicro mapping profile"
|
|
note: >-
|
|
Passed to AntiMicro as --profile under the name -profilantimicro: gives;
|
|
the name that ships is the one the built-in help quotes. With
|
|
-controleurantimicro: also set the call carries --profile-controller
|
|
instead and no profile file is read.
|
|
source_ref: "src/main.qml:309-312"
|
|
|
|
- name: pepper.vch
|
|
required: false
|
|
bundled: true
|
|
description: "Adobe Flash Access blob shipped with the runtime"
|
|
note: >-
|
|
Named in the Flash library's own string table next to PepperFlashPlayer.
|
|
PKCS#7 over 446144 opaque bytes, signed through the Adobe Flash Access
|
|
chain under subject CN AdobeIV-202002031156. It carries DRM material and
|
|
no plain SWF needs it.
|
|
source_ref: "ArcadeFlashWeb v1.0.2 pepflashplayer.dll string table"
|