How maftymanicemu/dukex works
DukeX is a native iOS/macOS frontend for Original Xbox emulation, embedding xemu on iOS and integrating a desktop Xemu runtime on macOS. The principal workflow is library selection or game import, launch planning, optional JIT setup, emulation, and native display. Separate capabilities include controller/touch input, per-game configuration, diagnostics, and XB.Live/Insignia services. The README documents these capabilities and broad runtime relationships; sampled source does not expose the Swift runtime call graph, so unsampled implementation links are omitted or shown only where documented.
Main entry points: ProfileView.swift Profile And Activity · XemuLaunchPlan.swift Launch Planning · EmulatorCoreRuntime.swift Emulator Core · GamesLibraryView.swift Game Library
Components 24
Game Library
- Game Library
desktop/DukeX/DukeX/Features/Games/GamesLibraryView.swift - Game Import
desktop/DukeX/DukeX/Library/Import/DocumentImportPicker.swift - Game File Store
desktop/DukeX/DukeX/Library/Store/EmulatorFileStore.swift - Game Metadata
desktop/DukeX/DukeX/Services/GameMetadata/GameMetadataStore.swift
Launch And Runtime
- Launch Planning
desktop/DukeX/DukeX/Runtime/LaunchPlan/XemuLaunchPlan.swift - JIT Coordinator
desktop/DukeX/DukeX/Runtime/JIT/AutoJITCoordinator.swift - Emulator Core
desktop/DukeX/DukeX/Runtime/Core/EmulatorCoreRuntime.swift - Desktop Xemu Runtime
desktop/DukeX/DukeX/Desktop/XemuDesktopRuntime.swift - Runtime Settings
desktop/DukeX/DukeX/Features/Settings/SettingsView.swift - Per-game Tuning
desktop/DukeX/DukeX/Features/Games/Metadata/GameMetadataEditorView.swift
Input And Display
- Controller Input
desktop/DukeX/DukeX/App/GameControllerBootstrap.swift - Touch Controls
desktop/DukeX/DukeX/Presenter/ManicSkin/ManicSkinVirtualController.swift - Native Display
- Statistics HUD
desktop/DukeX/DukeX/Presenter/HUD/StatsHUDView.swift
Online Services
- Profile And Activity
desktop/DukeX/DukeX/Features/Profile/ProfileView.swift - Social Services
desktop/DukeX/DukeX/Services/Insignia/XBLiveSocialService.swift - Live Presence
desktop/DukeX/DukeX/Services/Insignia/XBLiveEmulatorPresenceService.swift - Cloud Saves
desktop/DukeX/DukeX/Services/CloudSaves/FATXHDDCloudSaveStore.swift
App Experience
- Themes And Skins
desktop/DukeX/DukeX/Features/Settings/Skins/SkinSettingsView.swift - Activity Feed
desktop/DukeX/DukeX/Features/Activity/ActivityFeedView.swift
Other components
- Player
- XB.Live Account
- StikDebug
- Insignia Service
Connections 22
- Player → Game Library: browses
- Player → Game Import: imports games
- Game Import → Game File Store: stores files
- Game Library → Launch Planning: starts launch
- Launch Planning → JIT Coordinator: may prepare JIT
- JIT Coordinator → StikDebug: hands off
- Launch Planning → Emulator Core: launches emulator
- Launch Planning → Desktop Xemu Runtime: uses desktop path
- Runtime Settings → Launch Planning: configures runtime
- Per-game Tuning → Launch Planning: tunes game
- Controller Input → Emulator Core: sends input
- Touch Controls → Emulator Core: sends input
- Emulator Core → Native Display: renders through
- Emulator Core → Statistics HUD: provides diagnostics
- Player → Profile And Activity: opens profile
- Profile And Activity → Social Services: uses services
- Profile And Activity → Live Presence: shows presence
- Profile And Activity → Cloud Saves: supports sync
- XB.Live Account → Profile And Activity: authenticates
- Insignia Service → Live Presence: supplies live status
- Profile And Activity → Activity Feed: shows activity
- Player → Themes And Skins: personalizes