Skip to content

Releases

Noble Archimedes v0.9.5b - Advanced graphics and camera fixes

Choose a tag to compare

@sergiomanzur sergiomanzur released this 07 Nov 02:41
  • Fix a black screen after Continue on a 4K display at 200% render scale with DLSS. The renderer now limits DLSS supersampling to 4K or the output height, whichever is greater.

  • Keep the original Noble Archimedes Windows launcher, with its artwork, fonts, colors and music.

  • Give first-person view more clearance near enemies. Route Classic mouse motion through the original orbit camera and fix right-stick inversion at full deflection.

  • Ship the advanced Windows renderer with HDR, ambient occlusion, temporal anti-aliasing, texture material maps and DXR options. Optional NVIDIA features require a compatible GPU and vendor runtime.

  • Include native Linux preview build instructions and a Steam Deck packaging path in the source release.

  • Make first-person movement follow the mouse view immediately, including after a quick turn in the opposite direction.

  • Show a region picker next to Play when both the USA and European game copies and their matching executables are available.

  • Add optional sprint on Left Shift or L3 with matching movement animation, and optional PS2 analog stick response.

  • Add widescreen HUD placement with special handling for lock-on, boss bars and modal overlays. Use 16:10 presentation on narrower widescreen outputs.

  • Add field of view, draw distance and fog options. Keep the original movie framing by default and support player-supplied HD movie packs.

  • Add controller shoulder navigation in Settings, live button layout changes and improved dual-motor rumble handling.

Download the Windows x64 ZIP, extract it to a writable folder, and run NobleArchimedesLauncher.exe. Supply your own USA original Xbox disc image or extracted files. The first launch compiles the game locally.

Optional NVIDIA features require a separately installed Streamline runtime. The source archive includes the Linux and Steam Deck preview build instructions. See SHA256SUMS.txt to verify both downloads.

Noble Archimedes Beta 0.9.4b - First-Person Camera and Mouse Reticle

Choose a tag to compare

@sergiomanzur sergiomanzur released this 06 Nov 16:57

First person follows Hector's current position while running, keeping the eye ahead of his head. Looking up or down rotates the view without shifting the eye position.

The system arrow stays hidden inside the game window. A small centered dot appears only when gameplay captures the mouse. Press F6 to release or recapture it.

Validated the first-person camera in a headless courtyard run and passed the camera math, input integration, and release packaging checks.

Download the Windows x64 ZIP and supply your own USA original Xbox copy of Castlevania: Curse of Darkness. The game compiles locally on first run. Corresponding source and SHA-256 checksums are attached.

Noble Archimedes Beta 0.9.3b - Graphics Hotfix

Choose a tag to compare

@sergiomanzur sergiomanzur released this 06 Nov 16:39

This beta changes how the Xbox renderer copies the completed frame to address the stretched streaks reported on the title screen and during gameplay.

  • The final frame copy uses screen pixel coordinates. HD texture packs continue to load through the existing texture path.
  • The cursor hides during captured mouse look and returns when capture is released.
  • Invert camera stick Y reverses up and down on the right stick. Invert camera stick X is also available, and mouse inversion is configured separately. Both stick settings carry forward from v0.9.2b.

The shader regression passed. Headless RTX 3080 testing covered the title screen and first courtyard at 4K display settings and 200% render scale, with a synthetic HD replacement loaded on the title screen. Confirmation on the reported Radeon RX setup is pending.

Download the Windows x64 ZIP and supply your own USA original Xbox copy of Castlevania: Curse of Darkness. The game compiles locally on first run. Corresponding source and SHA-256 checksums are attached.

Noble Archimedes Beta 0.9.2b - Cursor and Camera Stick Fixes

Choose a tag to compare

@sergiomanzur sergiomanzur released this 06 Nov 13:25

Noble Archimedes Beta 0.9.2b fixes two modern-control issues from 0.9.1b.

  • The captured mouse cursor is now re-hidden every frame and the normal arrow restored when capture is released, so it no longer stays visible in the middle of the screen.
  • Added default-on "Invert camera stick X" and "Invert camera stick Y" options to correct the title's inverted controller camera. They work in Classic and direct-look modes and are independent of mouse inversion.

Validation: clean full build, new-game cvtest 7/7, and the packaged runtime ZIP passed 9/9 installation/startup/gameplay checks outside the source tree, including first-run game-DLL compilation.

USA original Xbox is the qualified target. The EU build remains unqualified. Bring your own game files. The companion source archive and SHA-256 checksums are attached.

Noble Archimedes Beta 0.9.1b - Modern PC Controls

Choose a tag to compare

@sergiomanzur sergiomanzur released this 03 Nov 03:27

Noble Archimedes Beta 0.9.1b adds modern PC controls to the primary Xbox D3D12 build.

  • Direct relative mouse look with automatic capture, F6 release/recapture, and cursor restore on exit.
  • Resident Evil 2 Remake-style over-the-shoulder camera (default), first-person camera, and Classic mode. F5 cycles; F10 opens the Camera tab.
  • Movement follows the camera heading, so W goes where the mouse points. The title's own follow camera is steered to the same heading and retains its collision and scripted transitions.
  • Right mouse aims with a slower walk and closer camera; left/middle/mouse 4/5 add X, Y, black and white buttons.
  • Camera and mouse settings persist in castlevania.toml.
  • Scripted CV_PAD_SCRIPT/CV_PAD_LIVE runs remain deterministic.

Validation for this build: new-game cvtest 7/7 steps, modern camera math and integration tests pass, and the packaged runtime ZIP passed 9/9 installation/startup/gameplay checks outside the source tree, including first-run game-DLL compilation.

USA original Xbox is the qualified target. The EU build remains unqualified. Bring your own game files. The companion source archive and SHA-256 checksums are attached.

Noble Archimedes 0.9.0b - Xbox beta

Pre-release

Choose a tag to compare

@sergiomanzur sergiomanzur released this 02 Nov 20:05

Noble Archimedes v0.9.0b

Xbox-first Windows x64 beta for Castlevania: Curse of Darkness. Bring your own game: no disc images, extracted assets, generated game DLL or commercial game code are bundled.

Downloads and play

  • Windows-x64.zip: extract into a writable folder and run NobleArchimedesLauncher.exe.
  • Supply your own USA original Xbox disc image or extracted disc in assets. The first start compiles the game locally, then offers Start. Keep the included compiler folder.
  • Source.zip: release-commit source plus the actual patched open-source SDK/dependency source snapshots, licenses and build instructions. SHA256SUMS.txt verifies both archives.

Changes

  • Primary native x64 Xbox recompiler, Direct3D 12 renderer and XAudio2 audio; PS2 remains experimental.
  • Widescreen/menu/shadow fixes, shader caching, filtering, resolution/render-scale settings, game options and PCSX2 PNG/DDS HD texture-pack support.
  • Original Noble Archimedes launcher artwork, astrolabe icon and instrumental theme with a saved music toggle.
  • Donor source and credits retained from jmafort/CastlevaniaCOD-PC; explicit scoped licensing and fork/build guidance.

Validation and limits

The built runtime ZIP passed 9/9 installation/startup/gameplay checks outside the source tree, including PE dependency closure, first-run game-DLL compilation, movement and pause/resume. Six focused test groups (30 checks) passed. Short courtyard samples reached about 59 FPS; this is not whole-game qualification or a fresh Windows installation test.

This binary download is USA Xbox only. EU source configurations are included, but an EU binary was not built or qualified without a matching local game copy. HD packs must be acquired separately and were not locally qualified. Expect beta defects and keep save backups.

Source commit: 195e007de6b6ed58775492875af024ff5db6155f. See the changelog, LICENSE and third-party notices for details.

Noble Archimedes Alpha 0.2.1

Pre-release

Choose a tag to compare

@sergiomanzur sergiomanzur released this 16 Oct 00:26

Noble Archimedes Alpha 0.2.1

This maintenance release refines the Stage A EE scheduler architecture, resolves virtual time pacing deadlocks, and eliminates scheduler polling overhead across all gameplay regions.

Key Improvements & Bug Fixes

  • Scheduler Dispatch Rate Reduction (968,000/s -> ~3,900/s):

    • Fixed a critical pacing condition in EeScheduler::processPendingEvents() and EeScheduler::checkpointDue(): when scheduled deadlines reach virtual cycle time while host pacing time is future (s_pacingDeadline), m_checkpointPending is no longer continuously flagged, preventing basic blocks from collapsing out of the inner quantum loop.
    • Reduced scheduler round-trips from ~968,000 dispatches/sec to ~3,900 dispatches/sec, cutting 76% of host thread dispatch and mutex polling overhead.
    • Bumped maximum inner quantum budget up to 1,000,000 cycles (bounded by the earliest scheduled event deadline), while guaranteeing iteration-1 breaks on queue-spin addresses (0x41fff0, 0x420528, 0x420050, 0x4203B0, 0x4204E8, 0x420628).
  • DMA Queue Allocation & Virtual Time Stability:

    • Restored clean std::min_element deadline selection in EeScheduler::updateNextDeadline(), ensuring m_nextDeadlineCycle is never zeroed when events are future-paced, resolving guest lockups in sub_0041FFF0.
    • Fixed DMA free list pool check in isQueueSpin: corrected freeHead == 0u evaluation so valid buffer node addresses (>= 0xAC3C20) are not mistakenly treated as empty pool starvation.
    • Replaced artificial cycle jumps with cooperative guest yielding when DMA nodes are legitimately exhausted, allowing worker threads to drain without distorting frame pace.
  • Universal Courtyard Room State Support ([4, 10, 3, *]):

    • Updated all measurement and validation harnesses (measure_gameplay.py, run_gameplay_validation.py, run_gameplay_validation_regions.py) to recognize all room states ([4, 10, 3, *]), enabling continuous measurement through transitions.
  • Steady-State Courtyard Profiling:

    • Confirmed steady-state 3D courtyard execution ([4, 10, 3, 1]) measures 14.43 FPS across 922 frames (63.9s) at only 0.54 host CPU cores (down from 1.68–1.94 cores), isolating the remaining frame time entirely to GPU/VIF1 rasterization and draw call latency (~4 VBlanks per frame) rather than host scheduler contention.

Distribution boundary

The GitHub asset is a source-only Windows kit. It opens through the supplied command launchers after the user builds the host locally. It excludes the game ISO, extracted executable, generated/recompiled game implementation, private VU/GPU translations, captures, saves, dependency binaries and compiled host executable.

Noble Archimedes Alpha 0.2.0

Pre-release

Choose a tag to compare

@sergiomanzur sergiomanzur released this 15 Oct 23:18

Noble Archimedes Alpha 0.2.0

This release incorporates major performance advancements pushing measured gameplay from ~20.5–26.4 FPS to ~53.0 FPS (>2x speedup), alongside comprehensive EE scheduler optimizations, non-stalling future deadline logic, and deadline-pacing deadlock fixes.

Major Gains & Performance Breakthroughs

  • EE Scheduler Quantum Inner Loop & L1 Direct-Mapped Block Cache (Stage A):

    • Eliminated the project's primary host-side bottleneck: ~930,000 guest-to-scheduler context roundtrips and thread reselection loops per second.
    • Implemented an inner quantum loop in EeScheduler::run() computing safe cycle budgets bounded by hardware timers, DMA transfers, and future deadlines.
    • Added a 64K direct-mapped L1 block cache (fastLookupBlock) in EeScheduler.cpp avoiding hash/table lookups on hot execution paths.
    • Required zero guest recompilation (all 32 guest .o chunks preserved untouched) and maintained binary ABI stability in ee_scheduler.h.
    • Measured Performance: Guest phase_frames advanced 912 frames in 17.2s (52.97 FPS (~53 FPS)) during boot, menus, and 3D world transition, more than doubling the previous baseline.
  • PCSX2-Style VU Dead Flag Elimination:

    • Activated conservative 4-cycle FMAC flag liveness analysis (--vu-dead-flag-elimination).
    • Elided CaptureFullFmac, normalization, and sticky flag retirement for instructions whose flags are dead, reducing VU worker CPU time from 11.78s to 7.33s per 15s window (a 10.4% speedup in paired gameplay controls).

Bug Fixes & Scheduler Hardening

  • Host-Pacing & Queue Spin Deadlock Resolution:
    • Fixed an issue in EeScheduler::updateNextDeadline() where cycle-due events waiting on host pacing cleared m_nextDeadlineCycle to 0, stalling virtual time progression during DMA node starvation (0xAC3CF8 free pool exhaustion).
    • Added fallback cycle advancement in EeScheduler::checkpointDue() during DMA queue spin loops (isQueueSpin), ensuring the scheduler advances by kVBlankPeriodCycles rather than freezing at 100% CPU when waiting on VSync/DMA worker drains.
  • GS sceGsSyncV Return Address Guard:
    • Guarded ctx->pc = ra in GS.cpp stubs (sceGsSyncV and sceGsSyncVCallback) against null return addresses (if (ra != 0u)), preserving scheduler continuity.
  • Validation Probe Compatibility:
    • Updated run_gameplay_validation.py to recognize fast-path room state transitions ([4, 10, 3, 3]), preventing false-positive timeouts at 50+ FPS speeds.

Distribution boundary

The GitHub asset is a source-only Windows kit. It opens through the supplied command launchers after the user builds the host locally. It excludes the game ISO, extracted executable, generated/recompiled game implementation, private VU/GPU translations, captures, saves, dependency binaries and compiled host executable.

Noble Archimedes Alpha 0.1.0

Pre-release

Choose a tag to compare

@sergiomanzur sergiomanzur released this 15 Oct 13:43

Changelog

Alpha 0.1.0 — 2026-10-15

This is the first named development release of Noble Archimedes. It publishes the advanced native VIF1 worker and scheduler work, selectable graphics architecture, reproducible build documentation and a source-only Windows release kit.

Selecting the game

Only the USA PlayStation 2 release SLUS-21168 is supported. Use your own lawfully obtained disc image. Name it Castlevania - Curse of Darkness (USA).iso, place it beside the locally built executable and extract SLUS_211.68 to extracted/SLUS_211.68 using the command in BUILDING.md. The release contains no game data or translated game implementation.

Selecting the GPU renderer

  • Double-click Launch Native.cmd for the native recompilation path with Vulkan paraLLEl-GS.
  • Double-click Launch PCSX2 GS.cmd for the experimental PCSX2 GS-only adapter. It requires a build configured with PS2X_ENABLE_PCSX2_GS=ON, noble_pcsx2_gs.dll, its licensed dependencies and resources.
  • From a running build, press F1, expand Graphics, choose Native or Hybrid (PCSX2 GS), then restart. The saved choice takes effect on the next launch.

Hybrid mode keeps this project's recompiled EE, VU execution, scheduling, input and gameplay runtime. It replaces only the GS renderer and does not start a complete PCSX2 virtual machine.

Current performance and correctness

The newest retained VU-correct candidate measured 31.5009 gameplay updates/s: 1,232 updates over 39.110 seconds with protected gameplay state [4, 10, 3, 1] unchanged. An older private-development ledger run recorded 35.8328 gameplay updates/s and 58.4375 fresh presented images/s over different measurement windows. These results do not establish sustained 58–60 FPS gameplay, and the public source kit does not reproduce the private optimized VU DLL.

The retained work includes the native VIF1 worker, explicit fencing and state restoration, ordered GIF packet handling, a scheduler empty-work fast path, reusable event/deadline scratch storage, Windows timer-resolution handling, renderer settings and the PCSX2 GS adapter source.

What remains

  • Reach and validate 58–60 actual gameplay updates/s with VU correctness preserved.
  • Finish the ordered native engine seam through skinning, normals, extrusion, projection, clipping and packet/cache writes.
  • Prove the PCSX2 GS-only bridge in real gameplay and package its complete licensed dependency/resource closure.
  • Make clean public game-code generation and the end-to-end Windows build reproducible.
  • Separate user-generated game implementation from the redistributable host so a playable public binary can be shipped without game-derived code.
  • Resolve remaining GS test failures and the broad test-suite VSync stall.
  • Qualify combat, enemies, Innocent Devils, effects, transitions, movies, sound, memory cards and saves.

Distribution boundary

The GitHub asset is a source-only Windows kit. It opens through the supplied command launchers after the user builds the host locally. It excludes the game ISO, extracted executable, generated/recompiled game implementation, private VU/GPU translations, captures, saves, dependency binaries and compiled host executable.