orbistoun documentation
Start here
- README - Orbistoun documentation
Guide
Reference
- ADDRESS_MAP - The address map
- CRATES - Crates
- GLOSSARY - Glossary
- PAYLOADS - Open-toolchain payloads
- PROJECT_STATUS - Project
status
- PROVENANCE - Provenance
- REFERENCES - External references
- SCOPE - Scope
- SYMBOLS - Symbol databases and the NID
hash
- TESTING - Testing strategy
- THE_LOOP - The loop
- WORKFLOW - Workflow
- decisions/D001-rust-as-the-implementation-language
- D001 - Rust as the implementation language
- decisions/D002-edition-2024-with-a-pinned-build-toolchain
- D002 - Edition 2024, with a pinned build toolchain
- decisions/D003-permissive-licence-and-dependencies
- D003 - Permissive licence and permissive dependencies
- decisions/D004-crates-on-a-dependency-spine
- D004 - Crates on a dependency spine
- decisions/D005-interception-is-linking-not-hooking
- D005 - Interception is linking, not hooking
- decisions/D007-symbol-databases-store-names-not-nids
- D007 - Symbol databases store names, not NIDs
- decisions/D008-unimplemented-stubs-refuse-by-default
- D008 - Unimplemented stubs refuse by default
- decisions/D009-placeholder-error-codes-avoid-the-high-bit
- D009 - Placeholder error codes avoid the high bit
- decisions/D010-honest-failure-over-plausible-output
- D010 - Honest failure over plausible output
- decisions/D011-no-unsafe-in-the-container-parser
- D011 - No unsafe in the container parser
- decisions/D014-provenance-gate-in-ci-and-pre-push
- D014 - Provenance gate in CI and the pre-push hook
- decisions/D016-validation-separated-from-effects
- D016 - Validation separated from effects
- decisions/D017-handles-per-subsystem-never-recycled
- D017 - Handles are per subsystem and never recycled
- decisions/D018-guest-call-recording-is-allocation-free-and-attributed
- D018 - Guest call recording is allocation-free and attributed
- decisions/D023-release-profile-favours-speed-with-debug-info
- D023 - Release profile favours speed, with debug info
- decisions/D027-windows-primary-unix-verified-in-a-vm
- D027 - Windows is the primary host; Unix is verified in a VM
- decisions/D028-no-urgency-take-the-highest-payoff-path
- D028 - No urgency; take the highest-payoff path
- decisions/D029-backends-abstracted-at-guest-semantics
- D029 - Backends are abstracted at guest semantics
- decisions/D030-backend-seams-enforced-by-crate-boundaries
- D030 - Backend seams are enforced by crate boundaries
- decisions/D031-no-execution-backend-or-container-plugin-layer
- D031 - No execution backend or container plugin layer
- decisions/D032-the-guest-runs-in-a-child-process
- D032 - The guest runs in a child process
- decisions/D033-worker-mode-is-self-reinvocation
- D033 - Worker mode is self-reinvocation
- decisions/D034-shims-hold-no-logic
- D034 - Shims hold no logic
- decisions/D035-the-worker-protocol-is-serialisable-data
- D035 - The worker protocol is serialisable data
- decisions/D038-portable-mode-and-the-data-root
- D038 - Portable mode and the data root
- decisions/D039-toml-for-people-json-for-data-no-database
- D039 - TOML for people, JSON for data, no database
- decisions/D042-the-corpus-is-a-pinned-manifest
- D042 - The corpus is a pinned manifest
- decisions/D046-three-observability-channels
- D046 - Three observability channels
- decisions/D048-per-title-files-merged-per-key
- D048 - Per-title files, merged per key
- decisions/D049-the-elf-sits-inside-a-wrapper
- D049 - The ELF sits inside a wrapper
- decisions/D051-fixtures-are-generated-never-extracted
- D051 - Fixtures are generated, never extracted
- decisions/D054-distribution-containers-are-never-read
- D054 - Distribution containers are never read
- decisions/D062-one-stub-per-import
- D062 - One stub per import
- decisions/D063-guest-code-runs-on-its-own-guarded-stack
- D063 - Guest code runs on its own guarded stack
- decisions/D068-names-are-generated-and-proved
- D068 - Names are generated and proved
- decisions/D071-the-hash-suffix-ships-as-a-data-file
- D071 - The hash suffix ships as a data file
- decisions/D082-implementations-bind-to-stub-indices-at-load
- D082 - Implementations bind to stub indices at load
- decisions/D085-shader-tables-are-data
- D085 - Shader tables are data
- decisions/D086-blockers-ranked-by-effort-then-shaders-blocked
- D086 - Blockers ranked by effort, then shaders blocked
- decisions/D087-decoding-reports-rather-than-fails
- D087 - Decoding reports rather than fails
- decisions/D088-the-shader-corpus-is-content-addressed
- D088 - The shader corpus is content-addressed
- decisions/D097-operand-fields-are-solved-from-assembled-probes
- D097 - Operand fields are solved from assembled probes
- decisions/D098-predicated-translation-in-a-dispatch-loop
- D098 - Predicated translation in a dispatch loop
- decisions/D099-translated-shaders-are-executed-on-a-device
- D099 - Translated shaders are executed on a device
- decisions/D100-fidelity-levels-are-a-differential-oracle
- D100 - Fidelity levels are a differential oracle
- decisions/D101-guest-memory-is-a-separate-binding
- D101 - Guest memory is a separate binding
- decisions/D103-the-builder-checks-identifiers-not-validity
- D103 - The builder checks identifiers, not validity
- decisions/D104-blocked-instructions-name-their-dependency
- D104 - Blocked instructions name their dependency
- decisions/D106-auto-fidelity-reads-the-shader-and-warns
- D106 - Auto fidelity reads the shader and warns
- decisions/D112-the-gpu-is-driven-by-submissions
- D112 - The GPU is driven by submissions
- decisions/D113-translations-cached-by-content
- D113 - Translations cached by content
- decisions/D122-knowledge-is-a-file-the-loop-writes
- D122 - Knowledge is a file the loop writes
- decisions/D123-an-opcode-with-no-shape-row-is-an-error
- D123 - An opcode with no shape row is an error
- decisions/D125-pointer-returning-stubs-answer-null
- D125 - Pointer-returning stubs answer null
- decisions/D126-the-standard-word-list-is-harvested-from-freebsd
- D126 - The standard word list is harvested from FreeBSD
- decisions/D128-the-guest-heap-is-the-host-allocator
- D128 - The guest heap is the host allocator
- decisions/D129-two-progress-signals
- D129 - Two progress signals
- decisions/D130-gpu-addresses-equal-guest-addresses-by-assumption
- D130 - GPU addresses equal guest addresses, by assumption
- decisions/D131-a-capture-pairs-a-call-with-its-bytes
- D131 - A capture pairs a call with its bytes
- decisions/D139-the-shader-target-is-rdna2-keyed-by-name
- D139 - The shader target is RDNA2, keyed by name
- decisions/D145-wavefront-width-is-supplied-not-inferred
- D145 - Wavefront width is supplied, not inferred
- decisions/D147-unaddressable-descriptors-are-forced-out-of-bounds
- D147 - Unaddressable descriptors are forced out of bounds
- decisions/D150-guest-threads-and-reported-topology
- D150 - Guest threads and reported topology
- decisions/D151-handles-follow-what-the-guest-does-with-them
- D151 - Handles follow what the guest does with them
- decisions/D156-nothing-reachable-from-a-guest-call-may-panic
- D156 - Nothing reachable from a guest call may panic
- decisions/D159-stack-alignment-is-measured-never-forced
- D159 - Stack alignment is measured, never forced
- decisions/D161-the-gui-is-egui-on-eframe
- D161 - The GUI is egui on eframe
- decisions/D162-no-control-without-something-behind-it
- D162 - No control without something behind it
- decisions/D166-stub-answer-precedence
- D166 - Stub answer precedence
- decisions/D170-guest-standard-output-goes-to-host-stderr
- D170 - Guest standard output goes to host stderr
- decisions/D171-out-parameters-are-always-written
- D171 - Out-parameters are always written
- decisions/D177-a-guest-stop-is-its-own-run-outcome
- D177 - A guest stop is its own run outcome
- decisions/D179-runs-produce-ranked-findings
- D179 - Runs produce ranked findings
- decisions/D180-behaviour-records-how-it-is-known
- D180 - Behaviour records how it is known
- decisions/D181-a-run-records-its-conditions
- D181 - A run records its conditions
- decisions/D182-the-compatibility-record-is-derived-from-runs
- D182 - The compatibility record is derived from runs
- decisions/D183-formatting-is-complete-or-empty
- D183 - Formatting is complete or empty
- decisions/D184-instrumentation-is-tested-by-golden-output
- D184 - Instrumentation is tested by golden output
- decisions/D188-the-shipped-symbol-database-loads-by-default
- D188 - The shipped symbol database loads by default
- decisions/D194-argument-dumps-are-bounded-and-taken-at-call-time
- D194 - Argument dumps are bounded and taken at call time
- decisions/D195-confirmed-names-widen-the-grammar
- D195 - Confirmed names widen the grammar
- decisions/D206-vendor-documentation-is-used-freely
- D206 - Vendor documentation is used freely
- decisions/D207-orbistoun-implements-obscenes-protocol
- D207 - orbistoun implements obSCEne's protocol
- decisions/D209-table-generators-replay-a-committed-recording
- D209 - Table generators replay a committed recording
- decisions/D212-the-language-model-service-knows-nothing-of-orbistoun
- D212 - The language-model service knows nothing of orbistoun
- decisions/D213-name-provenance-records-proposal-and-reproducibility
- D213 - Name provenance records proposal and reproducibility
- decisions/D214-proposers-pair-with-an-oracle-and-ask-for-words
- D214 - Proposers pair with an oracle and ask for words
- decisions/D219-the-inference-runtime-is-downloaded
- D219 - The inference runtime is downloaded
- decisions/D221-environment-variables-are-declared-in-one-crate
- D221 - Environment variables are declared in one crate
- decisions/D222-a-build-names-its-commit
- D222 - A build names its commit
- decisions/D225-probe-answers-are-returned-unless-they-are-handles
- D225 - Probe answers are returned unless they are handles
- decisions/D227-diagnostics-that-intervene-say-so-at-the-verdict
- D227 - Diagnostics that intervene say so at the verdict
- decisions/D231-the-loop-dispatches-rather-than-chooses
- D231 - The loop dispatches rather than chooses
- decisions/D238-a-call-budget-with-the-clock-as-backstop
- D238 - A call budget, with the clock as backstop
- decisions/D242-a-name-enters-only-if-this-repository-re-derives-it
- D242 - A name enters only if this repository re-derives it
- decisions/D246-only-the-target-may-source-a-name
- D246 - Only the target may source a name
- decisions/D247-dynamic-tables-are-read-through-the-vendor-tags
- D247 - Dynamic tables are read through the vendor tags
- decisions/D250-guest-writes-land-in-data-never-app0
- D250 - Guest writes land in /data, never /app0
- decisions/D251-the-guest-filesystem-is-a-manifest-with-title-layers
- D251 - The guest filesystem is a manifest with per-title layers
- decisions/D256-a-failed-trylock-reports-busy
- D256 - A failed trylock reports busy
- decisions/D265-a-language-model-proposes-names-in-its-own-binary
- D265 - A language model proposes names, in its own binary
- decisions/D268-floating-point-arguments-cross-in-xmm-registers
- D268 - Floating-point arguments cross the trampoline in xmm
registers
- decisions/D272-out-parameters-are-written-at-their-declared-width
- D272 - Out-parameters are written at their declared width
- decisions/D273-a-failed-descriptor-count-or-offset-answers-minus-one
- D273 - A failed descriptor, count or offset answers -1
- decisions/D274-guest-callbacks-are-called-with-the-system-v-convention
- D274 - Guest callbacks are called with the System V convention
- decisions/D275-the-time-stamp-counter-runs-at-a-nominal-gigahertz
- D275 - The time-stamp counter runs at a nominal gigahertz
- decisions/D276-snapshot-and-watchpoint-are-separate-diagnostics
- D276 - Snapshot and watchpoint are separate diagnostics
- decisions/D279-the-provenance-size-guard-fails-binary-files-only
- D279 - The provenance size guard fails binary files only
- decisions/D286-the-argument-sweep-crosses-each-slot-with-a-success-return
- D286 - The argument sweep crosses each slot with a success return
- decisions/D288-environment-variables-are-named-from-one-registry
- D288 - Environment variables are named from one registry
- decisions/D289-a-turn-takes-every-step-that-needs-no-decision
- D289 - A turn takes every step that needs no decision
- decisions/D291-a-sweep-finding-becomes-a-record-with-its-assumptions
- D291 - A sweep finding becomes a record with its assumptions
- decisions/D292-the-knowledge-merge-rule-lives-in-orbistoun-hle
- D292 - The knowledge merge rule lives in orbistoun-hle
- decisions/D293-the-turn-dispatcher-is-separate-from-the-naming-model
- D293 - The turn dispatcher is separate from the naming model
- decisions/D296-automatic-fixes-are-data-and-writes-need-a-conformance-check
- D296 - Automatic fixes are data, and writes need a conformance
check
- decisions/D297-learned-policy-is-a-file-of-measurements
- D297 - Learned policy is a file of measurements
- decisions/D299-the-placeholder-producer-is-found-by-sweeping-zero-answers
- D299 - The placeholder producer is found by sweeping zero answers
- decisions/D300-a-stub-region-states-how-its-base-arrives
- D300 - A stub region states how its base arrives
- decisions/D301-a-reach-verdict-never-orders-a-missing-fault
- D301 - A reach verdict never orders a missing fault
- decisions/D303-the-title-corpus-and-the-probe-are-the-acceptance-oracle
- D303 - The title corpus and the probe are the acceptance oracle
- decisions/D305-a-plain-symbol-name-is-hashed-into-a-nid
- D305 - A plain symbol name is hashed into a NID
- decisions/D307-import-kind-is-read-from-the-symbol-type
- D307 - Import kind is read from the symbol type
- decisions/D310-the-worker-reads-requests-on-its-own-thread
- D310 - The worker reads requests on its own thread
- decisions/D311-shell-events-carry-meanings-and-codes-ship-empty
- D311 - Shell events carry meanings, and codes ship empty
- decisions/D312-a-compatibility-record-keeps-status-and-experiment-apart
- D312 - A compatibility record keeps status and experiment apart
- decisions/D314-a-launch-argument-beats-the-stored-view
- D314 - A launch argument beats the stored view
- decisions/D315-a-submission-carries-measurements-and-title-results-only
- D315 - A submission carries measurements and title results only
- decisions/D316-decision-numbers-are-reserved-under-a-lock
- D316 - Decision numbers are reserved under a lock
- decisions/D319-a-scoped-gate-scopes-only-the-cargo-steps
- D319 - A scoped gate scopes only the cargo steps
- decisions/D322-generated-patches-are-inert-until-promoted
- D322 - Generated patches are inert until promoted
- decisions/D323-each-data-import-gets-its-own-zeroed-page
- D323 - Each data import gets its own zeroed page
- decisions/D324-tests-never-choose-shared-resources-by-hand
- D324 - Tests never choose shared resources by hand
- decisions/D325-a-memory-fill-reports-what-it-filled
- D325 - A memory fill reports what it filled
- decisions/D326-the-window-owns-host-input
- D326 - The window owns host input
- decisions/D327-the-shell-lays-out-categories-in-a-row-and-items-in-a-column
- D327 - The shell lays out categories in a row and items in a
column
- decisions/D330-the-learned-vocabulary-has-a-cost-ceiling
- D330 - The learned vocabulary has a cost ceiling
- decisions/D333-the-command-line-engine-reads-its-prompt-from-standard-input
- D333 - The command-line engine reads its prompt from standard
input
- decisions/D334-engines-are-ranked-by-novel-words-on-the-real-prompt
- D334 - Engines are ranked by novel words on the real prompt
- decisions/D340-both-pad-spellings-are-declared-with-one-implementation
- D340 - Both pad spellings are declared with one implementation
- decisions/D341-keyboard-sticks-are-eight-named-pushes-that-sum
- D341 - Keyboard sticks are eight named pushes that sum
- decisions/D342-a-grammar-shape-is-disabled-with-a-reason
- D342 - A grammar shape is disabled with a reason
- decisions/D343-entry-at-an-image-offset-is-a-diagnostic
- D343 - Entry at an image offset is a diagnostic
- decisions/D344-guest-threads-park-at-the-trampoline
- D344 - Guest threads park at the trampoline
- decisions/D345-pad-input-crosses-to-the-worker-as-a-level
- D345 - Pad input crosses to the worker as a level
- decisions/D346-platform-users-are-a-list-and-names-reach-the-guest
- D346 - Platform users are a list, and names reach the guest
- decisions/D349-posix-spellings-delegate-to-the-vendor-implementations
- D349 - POSIX spellings delegate to the vendor implementations
- decisions/D350-sysctl-refuses-an-unknown-mib-with-the-documented-failure
- D350 - sysctl refuses an unknown MIB with the documented failure
- decisions/D351-a-sweep-on-a-guest-that-never-faults-judges-by-reach
- D351 - A sweep on a guest that never faults judges by reach
- decisions/D352-abi-constants-are-harvested-from-freebsd-headers
- D352 - ABI constants are harvested from FreeBSD headers
- decisions/D355-a-turn-always-writes-its-proposals
- D355 - A turn always writes its proposals
- decisions/D356-a-turn-asks-labelled-open-questions
- D356 - A turn asks labelled open questions
- decisions/D357-an-experiment-declares-how-its-result-is-read
- D357 - An experiment declares how its result is read
- decisions/D364-a-va-list-is-read-as-a-cursor-and-never-written-back
- D364 - A va_list is read as a cursor and never written back
- decisions/D365-the-payload-handoff-block-gives-the-resolver-and-marks-the-rest
- D365 - The payload handoff block gives the resolver and marks the
rest
- decisions/D366-name-resolution-answers-with-the-import-stub
- D366 - Name resolution answers with the import stub
- decisions/D367-a-symbol-is-declared-where-it-is-imported
- D367 - A symbol is declared where it is imported
- decisions/D370-a-hardcoded-constant-is-checked-where-the-table-is
- D370 - A hardcoded constant is checked where the table is
- decisions/D371-files-and-sockets-share-one-descriptor-table
- D371 - Files and sockets share one descriptor table
- decisions/D373-select-never-consumes-and-accept-never-waits-holding-the-table
- D373 - select never consumes, and accept never waits holding the
table
- decisions/D374-stat-and-dirent-use-the-freebsd-11-layout
- D374 - stat and dirent use the FreeBSD 11 layout
- decisions/D375-the-payload-sdk-is-a-build-tool-never-a-source
- D375 - The payload SDK is a build tool, never a source
- decisions/D376-runtime-global-resolution-by-symbol-name
- D376 - Runtime-global resolution by guest symbol name
- decisions/D377-syscall-gadget-stubs-capture-full-registers
- D377 - Syscall-gadget stubs capture the full register set
- decisions/D378-guest-syscalls-dispatch-through-harvested-table
- D378 - Guest syscalls dispatch through a harvested number table
- decisions/D379-diagnostics-use-guest-call-total
- D379 - Diagnostics use the guest's own call total, not its import
count
- decisions/D380-own-code-faults-attributed-to-nearest-implementation
- D380 - A fault in this project's own code names the nearest
implementation
- decisions/D381-syscall-dispatch-path-must-not-allocate-print-lock
- D381 - The syscall dispatch path must not allocate, print, or
lock
- decisions/D383-malloc-zero-returns-unique-pointer
- D383 - A zero-sized allocation returns a unique pointer, not null
- decisions/D384-dispatch-boundary-does-not-assume-guest-stack-alignment
- D384 - The dispatch boundary does not assume the guest's stack
alignment
- decisions/D385-constant-harvester-reports-what-it-skips
- D385 - A constant harvester reports every name it declines to
keep
- decisions/D387-diagnostics-only-cover-published-memory-ranges
- D387 - A diagnostic instrument only covers memory a run has
published
- decisions/D388-guest-syscalls-recorded-in-order
- D388 - Guest syscalls are recorded in order, not as a presence
bitmap
- decisions/D389-kernel-log-device-fed-from-own-reporting
- D389 - The kernel log device is fed from this project's own
reporting
- decisions/D390-handoff-field-use-probed-one-field-per-run
- D390 - An undocumented handoff field's use is probed one field per
run
- decisions/D392-symbol-resolution-can-refuse-undocumented-names
- D392 - Symbol resolution can refuse names this project cannot
derive
- decisions/D393-machine-identity-queries-tested-as-one-family
- D393 - Machine-identity queries are tested as one family
- decisions/D394-presented-machine-is-one-setting
- D394 - The presented machine is one setting
- decisions/D395-undocumented-out-parameter-refused-or-measured
- D395 - An undocumented out-parameter is refused, or measured, never
invented
- decisions/D396-kernel-boundary-log-lines-written-live
- D396 - Kernel-boundary log lines are written when the event
happens
- decisions/D397-unset-kernel-release-string-refuses
- D397 - An unset kernel release string refuses rather than answers a
guess
- decisions/D398-guest-error-codes-use-platform-encoding
- D398 - Guest-visible error codes use the platform's own encoding
- decisions/D399-diagnostic-entry-convention-must-be-declared
- D399 - A diagnostic that varies an entry condition must declare which
one
- decisions/D400-guest-facing-stubs-carry-offset-syscall-entry
- D400 - Every guest-facing stub carries a syscall entry at a fixed
offset
- decisions/D401-direct-syscalls-tracked-separately-ranked-by-runs
- D401 - Direct syscalls are tracked separately, ranked by run
count
- decisions/D403-system-version-value-is-per-machine-setting
- D403 - The system-version value a guest reads is a per-machine
setting
- decisions/D404-unmodeled-firmware-offsets-land-in-named-region
- D404 - Unmodeled firmware-offset addresses land in a named region
- decisions/D406-firmware-memory-model-is-separate-crate
- D406 - A firmware memory model is a separate crate from the named
interface
- decisions/D407-firmware-layout-places-exports-at-base-plus-offset
- D407 - A presented firmware places exports at base plus measured
offset
- decisions/D408-firmware-handoff-fields-zero-or-shaped-pointers
- D408 - Unmodeled firmware handoff fields are zero, not markers
- decisions/D414-test-corpus-is-manifest-driven-fetch-tool
- D414 - The test corpus is a manifest-driven fetch tool
- decisions/D415-compatibility-table-generated-from-same-records
- D415 - The compatibility table is generated from the recorded
runs
- decisions/D421-software-version-is-a-profile-field
- D421 - The software version is a profile field, not a kernel
constant
- decisions/D422-writable-device-paths-are-a-sandbox
- D422 - A title's writable device paths are modeled as a per-title
sandbox, not a special case
- decisions/D423-sandbox-establishment-is-one-call
- D423 - Establishing a title's sandbox is one call in the filesystem
crate
- decisions/D424-a-flip-completes-on-submit
- D424 - A flip completes the instant it is submitted
- decisions/D425-display-presents-fixed-1080p
- D425 - The display presents a fixed 1080p resolution
- decisions/D426-video-out-error-family-and-single-open
- D426 - Video-out answers its own error family, and refuses a second
open of a held output
- decisions/D427-gpu-builders-and-walker-share-one-format
- D427 - The GPU command builders and the packet walker share one packet
format
- decisions/D428-loading-a-system-module-always-succeeds
- D428 - Loading a system module always succeeds
- decisions/D430-reentrant-guest-execution
- D430 - A library-call handler re-enters guest code on a dedicated
stack, on the calling thread
- decisions/D431-c-runtime-mutexes-allow-recursion
- D431 - Guest mutexes and condition variables from the C runtime allow
recursion by default
- decisions/D432-fault-report-reads-loaded-image-bytes
- D432 - A fault report reads the faulting instruction's bytes from the
loaded image
- decisions/D433-tls-block-is-variant-two
- D433 - Guest thread-local storage is variant-II, self-pointer at the
thread pointer
- decisions/D434-windows-thread-pointer-backstop
- D434 - A fault-triggered backstop re-installs the guest thread pointer
when the host has cleared it
- decisions/D435-user-level-thread-created-not-run
- D435 - A newly created user-level thread is recorded, not run
- decisions/D436-unresolved-walls-wait-for-a-measurement
- D436 - An unresolved title wall is escalated to a hardware
measurement, never guessed
- decisions/D437-direct-memory-map-never-hands-out-zero
- D437 - The direct-memory map never hands a guest physical address
zero
- decisions/D443-fixed-regions-stay-clear-of-guest-hints
- D443 - Orbistoun's own fixed address regions stay clear of addresses a
guest's own allocator computes
- decisions/D444-flexible-memory-is-a-separate-budget
- D444 - Flexible memory is a separate budget from the direct-memory
pool
- decisions/D445-guest-stack-has-a-readable-upper-guard
- D445 - The guest stack carries a mapped, readable guard above its
top
- decisions/D446-virtual-query-consults-every-guest-region
- D446 - A virtual-address query consults every region a guest can
legitimately read, not only the runtime map
- decisions/D447-a-system-knob-is-answered-only-if-citable
- D447 - A system knob is answered only from a source this project can
cite
- decisions/D451-arena-scoped-allocator-shares-one-heap
- D451 - A guest's arena-scoped allocator shares this project's one
heap, the arena handle unused
- decisions/D452-thread-identifier-is-its-registry-handle
- D452 - A thread's platform-visible identifier is its handle in the
thread registry
- decisions/D453-thread-specific-data-key-value-is-per-thread
- D453 - A thread-specific-data key's value lives in a per-thread table,
its destructor unused
- decisions/D454-guest-local-time-is-utc
- D454 - Guest local time is presented as UTC
- decisions/D456-fault-report-names-emulator-bugs-and-traps
- D456 - A fault report distinguishes the emulator's own bugs from the
guest's, and names a trap instruction
- decisions/D457-fault-report-names-the-null-base-register
- D457 - A fault report names the register most likely holding the null
base of the access
- decisions/D458-one-shot-breakpoint-captures-arguments
- D458 - A one-shot instruction breakpoint captures a function's
arguments at entry
- decisions/D459-call-trace-records-the-answer
- D459 - A call trace records what an answer was, not only what was
asked
- decisions/D460-map-commits-into-an-existing-reservation
- D460 - Mapping direct memory into a range a guest already reserved
commits into it, it does not reserve again
- decisions/D461-random-device-is-deterministic
- D461 - std::random_device is deterministic
- decisions/D463-mapping-arena-clear-of-thunk-blocks
- D463 - The guest mapping arena sits clear of the thunk data
blocks
- decisions/D466-narrow-typed-buffer-formats-use-a-packed-path
- D466 - Narrow typed-buffer formats decode through a dedicated packed
path
- decisions/D467-packed-half-floats-widen-via-driver-conversion
- D467 - A packed half-float widens through the driver's own
conversion
- decisions/D470-a-run-with-no-trace-reports-nothing
- D470 - A run that wrote no trace reports nothing
- decisions/D471-fault-reporter-checks-page-before-reading
- D471 - The fault reporter verifies a page is readable before reading
it
- decisions/D472-missing-imports-triaged-by-semantics-source
- D472 - Missing imports are triaged by where their semantics come
from
- decisions/D473-a-throw-with-no-unwinder-is-a-named-stop
- D473 - A C++ throw with no unwinder is a named stop, not a return
- decisions/D474-implemented-and-finished-are-tracked-separately
- D474 - Implemented and finished are recorded as separate states
- decisions/D475-prefixed-exports-delegate-to-their-twin
- D475 - A prefixed export delegates to its unprefixed twin
- decisions/D476-errno-table-has-a-published-tier
- D476 - The errno table carries a published tier alongside its measured
one
- decisions/D478-differential-results-are-their-own-tier
- D478 - A differential result is its own knowledge tier
- decisions/D479-differential-runs-against-reachable-implementation
- D479 - A differential runs against whichever reachable implementation
is published
- decisions/D481-opaque-measurements-are-not-queued
- D481 - A measured value that is not a property of the interface is
opaque, not queued
- decisions/D482-title-module-found-by-name-search
- D482 - A title's own module is found by the name that imports it
- decisions/D483-import-binds-by-library-and-hash
- D483 - An import binds by library identity and hash together
- decisions/D484-one-stub-table-spans-every-module
- D484 - One stub table spans every loaded module
- decisions/D485-constant-claims-need-repeated-agreement
- D485 - A measured value earns a constant claim only across repeated
agreement
- decisions/D486-measured-register-config-not-status-is-reproduced
- D486 - A measured register's configuration is reproduced, its status
is not
- decisions/D488-title-module-base-clear-of-guest-heap-arena
- D488 - The title-module base sits clear of the guest's own heap
arena
- decisions/D489-placed-module-needs-binding-protection-registration
- D489 - A placed module must be bound, protected and registered before
it runs
- decisions/D490-shared-stub-table-needs-per-module-labels
- D490 - A shared stub table needs call labels built per module
- decisions/D504-declared-names-come-from-real-import-tables
- D504 - Declared names come from real import tables
- decisions/D505-the-declared-surface-is-what-guests-import
- D505 - The declared surface is what guests import
- decisions/D513-invented-region-bases-and-the-address-map
- D513 - Invented region bases and the address map
- decisions/D515-a-module-starts-when-the-guest-starts-it
- D515 - A module starts when the guest starts it
- decisions/D516-a-flip-completes-when-accepted
- D516 - A flip completes when it is accepted
- decisions/D517-dlsym-searches-implementations-then-guest-exports
- D517 -
dlsym searches implementations, then guest
exports
- decisions/D523-scheduling-requests-are-accepted-not-applied
- D523 - Scheduling requests are accepted, not applied
- decisions/D524-kernel-handles-come-from-a-table
- D524 - Kernel handles come from a table
- decisions/D525-vendor-and-posix-twins-differ-only-on-failure
- D525 - Vendor and POSIX twins differ only on failure
- decisions/D533-the-differential-compares-only-specified-results
- D533 - The differential compares only specified results
- decisions/D536-shared-platform-facts-live-in-orbistoun-hle
- D536 - Shared platform facts live in
orbistoun-hle
- decisions/D538-premises-group-by-exact-wording
- D538 - Premises group by exact wording
- decisions/D545-measured-relations-are-asserted-as-properties
- D545 - Measured relations are asserted as properties
- decisions/D549-a-harness-is-proven-before-translation-targets-it
- D549 - A harness is proven before translation targets it
- decisions/D553-an-export-writes-a-fragment-output-variable
- D553 - An export writes a fragment output variable
- decisions/D555-both-interpolation-halves-answer-the-whole-value
- D555 - Both interpolation halves answer the whole value
- decisions/D557-a-prop-is-decided-by-provenance
- D557 - A prop is decided by provenance
- decisions/D558-flipped-is-a-reach-rung-frames-rank-below-imports
- D558 - Flipped is a reach rung, and frames rank below imports
- decisions/D560-an-event-queue-wait-never-blocks
- D560 - An event queue wait never blocks
- decisions/D563-runs-rank-by-answered-imports-through-one-key
- D563 - Runs rank by answered imports, through one key
- decisions/D567-placeholder-tagging-is-opt-in
- D567 - Placeholder tagging is opt-in
- decisions/D571-the-call-ring-is-circular-with-a-separate-opening
- D571 - The call ring is circular, with a separate opening record
- decisions/D573-address-waits-follow-the-umtx-contract
- D573 - Address waits follow the umtx contract
- decisions/D577-protection-changes-within-one-placed-region
- D577 - Protection changes within one placed region
- decisions/D578-random-devices-serve-a-deterministic-stream
- D578 - Random devices serve a deterministic stream
- decisions/D582-the-guest-clock-is-logical-by-default
- D582 - The guest clock is logical by default
- decisions/D583-a-turn-checks-that-a-run-repeats-first
- D583 - A turn checks that a run repeats first
- decisions/D584-guest-visible-blocks-come-from-one-fixed-region
- D584 - Guest-visible blocks come from one fixed region
- decisions/D588-guest-write-access-implies-read
- D588 - Guest write access implies read
- decisions/D606-affixed-names-are-their-own-provenance-tier
- D606 - Affixed names are their own provenance tier
- decisions/D621-per-thread-call-attribution
- D621 - Per-thread call attribution
- decisions/D640-imports-bind-to-title-shipped-modules
- D640 - Imports bind to title-shipped modules
- decisions/D649-unconfirmable-names-are-knowledge-not-symbols
- D649 - Unconfirmable names are knowledge, not symbols
- decisions/D652-signals-delivered-into-owned-waits
- D652 - Signals delivered into owned waits
- decisions/D653-a-second-elf-reader-as-a-differential
- D653 - A second ELF reader as a differential
- decisions/D658-guest-output-captured-at-the-platform-abi
- D658 - Guest output captured at the platform ABI
- decisions/D660-generated-title-pages
- D660 - Generated title pages
- decisions/D661-titles-payloads-and-packages-roots
- D661 - Titles, payloads and packages roots
- decisions/D662-application-category-as-a-permission
- D662 - Application category as a permission
- decisions/D663-machine-codenames-as-vocabulary
- D663 - Machine codenames as vocabulary
- decisions/D664-ordered-origin-lists-for-corpus-sources
- D664 - Ordered origin lists for corpus sources
- decisions/D667-vendor-socket-names-share-the-posix-bodies
- D667 - Vendor socket names share the POSIX bodies
- decisions/D669-platform-names-do-not-resolve-on-the-title-route
- D669 - Platform names do not resolve on the title route
- decisions/D670-unimplemented-calls-answer-a-negative-placeholder
- D670 - Unimplemented calls answer a negative placeholder
- decisions/D675-sysctl-knobs-split-between-the-platform-and-the
- D675 - Sysctl knobs split between the platform and the profile
- decisions/D676-unanswered-weak-imports-bind-to-zero
- D676 - Unanswered weak imports bind to zero
- decisions/D679-no-on-disk-fallback-for-the-archive-index
- D679 - No on-disk fallback for the archive index
- decisions/D681-shader-fixtures-are-regenerated-with-llvm-18
- D681 - Shader fixtures are regenerated with LLVM 18
- decisions/D683-borrowed-packet-sizes-are-cross-checks-never
- D683 - Borrowed packet sizes are cross-checks, never sources
- decisions/D685-a-deliberate-exit-earns-a-rung-below-a-flip
- D685 - A deliberate exit earns a rung below a flip
- decisions/D686-a-deliberate-exit-outranks-a-fault-above-the
- D686 - A deliberate exit outranks a fault above the import count
- decisions/D687-a-record-updates-on-not-worse-and-different
- D687 - A record updates on not-worse-and-different
- decisions/D688-a-primitive-shader-translates-to-a-mesh-shader
- D688 - A primitive shader translates to a mesh shader
- decisions/D689-the-device-enables-what-the-modules-declare
- D689 - The device enables what the modules declare
- decisions/D690-a-module-samples-only-the-one-bound-texture
- D690 - A module samples only the one bound texture
- decisions/D692-a-stored-image-declares-no-format
- D692 - A stored image declares no format
- decisions/D694-a-presented-frame-is-the-top-rung
- D694 - A presented frame is the top rung
- decisions/D695-the-worker-hands-the-shim-pixels
- D695 - The worker hands the shim pixels
- decisions/D696-a-producer-builder-reserves-with-a-zeroed-body
- D696 - A producer builder reserves with a zeroed body
- decisions/D697-the-direct-memory-pool-defaults-to-the-retail-size
- D697 - The direct-memory pool defaults to the retail size
- decisions/D701-resources-reach-the-backend-by-residency
- D701 - Resources reach the backend by residency
- decisions/D702-render-targets-are-identified-by-extent
- D702 - Render targets are identified by extent
- decisions/D703-the-guest-memory-window-is-frame-state
- D703 - The guest-memory window is frame state
- decisions/D705-a-completion-is-posted-only-for-work-that-ran
- D705 - A completion is posted only for work that ran
- decisions/D706-ci-tests-macos-as-x86-64
- D706 - CI tests macOS as x86-64
- decisions/D707-a-scripted-pad-is-a-configuration-source
- D707 - A scripted pad is a configuration source
- decisions/D708-a-wall-is-orbistouns-until-hardware-proves
- D708 - A wall is orbistoun's until hardware proves otherwise
- decisions/D709-operator-provided-retail-titles-work-on-hardware
- D709 - Operator-provided retail titles work on hardware
- decisions/D710-command-processor-memory-packets-execute-at-submit
- D710 - Command-processor memory packets execute at submit
- decisions/D711-a-live-submissions-window-sits-at-its-shaders
- D711 - A live submission's window sits at its shader's constant
base
- decisions/D712-a-submissions-draws-run-at-submit
- D712 - A submission's draws run at submit
- decisions/D713-pad-fields-follow-the-sdk-layout
- D713 - Pad fields follow the SDK layout
- decisions/D714-a-drawn-colour-target-is-written-back-at-the-flip
- D714 - A drawn colour target is written back at the flip
- decisions/D715-an-orphaned-worker-ends-its-process
- D715 - An orphaned worker ends its process
- decisions/D716-a-fragment-module-simulates-one-lane
- D716 - A fragment module simulates one lane
- decisions/D717-a-copy-out-of-a-colour-target-is-carried-out-on
- D717 - A copy out of a colour target is carried out on first
touch
- decisions/D718-draws-that-share-state-are-one-mesh-dispatch
- D718 - Draws that share state are one mesh dispatch
- decisions/D719-a-flipped-frame-reaches-guest-memory-when-read
- D719 - A flipped frame reaches guest memory when read
- decisions/D720-a-colour-target-is-write-protected-while-trusted
- D720 - A colour target is write-protected while trusted unchanged
- decisions/D721-pad-input-is-captured-and-replayed-against-flips
- D721 - Pad input is captured and replayed against flips
- decisions/D722-a-titles-app0-is-writable-by-where-it-is-staged
- D722 - A title's /app0 is writable by where it is staged
- decisions/D723-a-played-window-reads-the-host-clock
- D723 - A played window reads the host clock
- decisions/D724-a-title-links-at-load-or-ahead-of-time
- D724 - A title links at load or ahead of time from one link plan
- decisions/D725-instructions-the-host-lacks-are
- D725 - Instructions the host lacks are rewritten at link
- decisions/D726-a-faulted-run-does-not-render-its-last
- D726 - A faulted run does not render its last submission
- decisions/D727-the-platform-http-client-runs-over-the
- D727 - The platform HTTP client runs over the host network
- decisions/D728-a-command-buffer-flip-is-carried-out
- D728 - A command-buffer flip is carried out where the stream releases
its label
- decisions/D729-a-stream-s-draws-run-in-segments
- D729 - A stream's draws run in segments between its memory work
- decisions/D730-a-primitive-shader-s-geometry-engine
- D730 - A primitive shader's geometry-engine inputs are seeded per
draw
- decisions/D731-window-space-positions-are-drawn
- D731 - Window-space positions are drawn through a fixed viewport
- decisions/D732-a-fiber-is-a-guest-context-switched-on
- D732 - A fiber is a guest context switched on the thread that runs
it
- decisions/D733-a-draw-s-buffers-are-bound-as-device
- D733 - A draw's buffers are bound as device buffers
- decisions/D734-a-stateless-leaf-import-links-past-the
- D734 - A stateless leaf import links past the call trace
- decisions/D735-logical-time-is-per
- D735 - Logical time is per thread
- decisions/D736-a-title-s-compatibility-record-is-a
- D736 - A title's compatibility record is a directory
- decisions/D737-register-state-carries-across
- D737 - Register state carries across submissions on a queue
- decisions/D738-a-format-load-converts-by-the-draw-s
- D738 - A format load converts by the draw's descriptor
- decisions/D739-the-shader-target-is-the-console-s-own
- D739 - The shader target is the console's own revision
- decisions/D740-an-indexed-primitive-shader-reads-its
- D740 - An indexed primitive shader reads its vertex ids from the index
buffer
- decisions/D741-draws-larger-than-one-wave-run-in
- D741 - Draws larger than one wave run in chunks
- decisions/D742-an-attribute-read-both-interpolated-and
- D742 - An attribute read both interpolated and flat takes a flat
twin
- decisions/D743-a-half-border-clamp-samples-a-saturated
- D743 - A half-border clamp samples a saturated coordinate through a
border sampler
- decisions/D744-compiled-pipelines-are-kept-per
- D744 - Compiled pipelines are kept per title
- decisions/D745-a-primitive-shader-reads-its-draw-s
- D745 - A primitive shader reads its draw's vertex count from the draw
data
- decisions/D746-a-compute-dispatch-binds-each-traced
- D746 - A compute dispatch binds each traced buffer and writes it
back
- decisions/D747-a-batched-draw-finds-its-geometry
- D747 - A batched draw finds its geometry buffers through its draw
data
- decisions/D748-formatted-output-renders-floating-point
- D748 - Formatted output renders floating-point and starred
conversions
- decisions/D749-an-unmapped-mapping-is-released-and-its
- D749 - An unmapped mapping is released and its base reused after a
quarantine
- decisions/D750-a-depth-target-with-htile-is-cleared
- D750 - A depth target with HTILE is cleared where its HTILE says
so
- decisions/D751-an-arena-created-over-a-base-serves
- D751 - An arena created over a base serves from that range
- decisions/D752-an-unwritten-compute-start-is-the-queue
- D752 - An unwritten compute start is the queue's zero
- decisions/D753-a-descriptor-the-program-computes-is
- D753 - A descriptor the program computes is evaluated per draw
- decisions/D754-an-unwritten-index-size-is-sixteen
- D754 - An unwritten index size is sixteen bits
- decisions/D755-agc-s-output-primitive-4-is-a-rectangle
- D755 - AGC's output primitive 4 is a rectangle list
- decisions/D756-what-orbistoun-keeps-in-a-title-s
- D756 - What orbistoun keeps in a title's directory is not in its
/app0
- decisions/D757-a-loaded-segment-with-no-access-flags
- D757 - A loaded segment with no access flags is read-write
- decisions/D758-a-primitive-shader-s-global-loads-are
- D758 - A primitive shader's global loads are bound per draw from their
lanes' addresses
- decisions/D759-a-primitive-shader-that-exports-its
- D759 - A primitive shader that exports its entry v0 runs
passthrough
- decisions/D760-a-primitive-shader-runs-one-invocation
- D760 - A primitive shader runs one invocation per lane
- decisions/D761-a-chunk-of-a-draw-counts-its-vertex-ids
- D761 - A chunk of a draw counts its vertex ids from a draw word
- decisions/D762-an-interrupting-release-posts-the
- D762 - An interrupting release posts the driver's end-of-pipe
event
- decisions/D763-a-title-module-s-thread-locals-are
- D763 - A title module's thread-locals are served by module id
- decisions/D764-the-process-parameter-is-the-executable
- D764 - The process parameter is the executable's own segment
- decisions/D765-a-retail-process-has-no-sanitizer
- D765 - A retail process has no sanitizer replacement
- decisions/D766-a-statically-initialised-lock-is-made
- D766 - A statically initialised lock is made on first use
- decisions/D767-the-modules-an-executable-needs-start
- D767 - The modules an executable needs start before its entry
- decisions/D768-a-module-s-unwind-tables-are-found-by
- D768 - A module's unwind tables are found by address
- decisions/D769-a-title-s-own-c-runtime-answers-its
- D769 - A title's own C++ runtime answers its exceptions
- decisions/D770-a-title-s-libc-is-told-its-heap-is-not
- D770 - A title's libc is told its heap is not traced
- decisions/D771-a-based-mspace-block-carries-its
- D771 - A based mspace block carries its dlmalloc header
- decisions/D772-a-title-s-flexible-memory-setting-moves
- D772 - A title's flexible memory setting moves its direct pool
- decisions/D773-a-packed-float-colour-target-is-drawn
- D773 - A packed float colour target is drawn in its own format
- decisions/D774-a-packed-float-texture-is-sampled-as-it
- D774 - A packed float texture is sampled as it is
- decisions/D775-an-anisotropic-sampler-samples-at-the
- D775 - An anisotropic sampler samples at the host's anisotropy, at the
ratio radv encodes
- decisions/D776-the-rtc-tick-is-the-host-s-wall-clock
- D776 - The RTC tick is the host's wall clock in microseconds since
0001-01-01
- decisions/D777-a-title-s-own-library-binds-to-its-own
- D777 - A title's own library binds to its own export
- decisions/D778-libscesysmodule-s-unwind-query-is-the
- D778 - libSceSysmodule's unwind query is the kernel's
- decisions/D779-a-draw-with-no-colour-buffer-bound
- D779 - A draw with no colour buffer bound writes depth alone
- decisions/D780-window-space-before-the-divide-is-drawn
- D780 - Window space before the divide is drawn under the window-space
viewport
- decisions/D781-sceagccreateprimstate-writes-its
- D781 - sceAgcCreatePrimState writes its register lists whole
- decisions/D782-apr-identifiers-are-synthesised-for
- D782 - APR identifiers are synthesised for app0 files outside a
title's index
- decisions/D783-a-title-reads-the-host
- D783 - A title reads the host keyboard
- decisions/D784-a-flipped-colour-target-is-shown-as
- D784 - A flipped colour target is shown as drawn
- decisions/D785-v-med3-f32-is-the-median-of-three-nan
- D785 - v_med3_f32 is the median of three, NaN as its min-max
steps
- decisions/D786-a-flip-wakes-its-waiter-at-the-display
- D786 - A flip wakes its waiter at the display's time
- decisions/D787-a-split-draw-travels-as-one
- D787 - A split draw travels as one command
- decisions/D788-a-full-command-buffer-asks-its-writer-s
- D788 - A full command buffer asks its writer's overflow callback
- decisions/D789-the-global-data-share-is-one-zeroed
- D789 - The global data share is one zeroed buffer a process keeps
- decisions/D790-a-format-store-writes-only-its-format-s
- D790 - A format store writes only its format's components
- decisions/D791-the-shell-answers-a-message-dialog-at
- D791 - The shell answers a message dialog at once, with OK
- decisions/D792-a-save-is-mounted-from-the-title-s-own
- D792 - A save is mounted from the title's own storage
- decisions/D793-an-initparameter2-initializes-as-an
- D793 - An InitParameter2 initializes as an InitParameter does
- decisions/D794-a-descriptor-mesa-calls-null-with-zero
- D794 - A descriptor Mesa calls null with zero selects samples
zero
- decisions/D795-a-draw-buffer-binds-as-far-as-guest
- D795 - A draw buffer binds as far as guest memory holds it
- decisions/D796-a-presented-frame-is-shown
- D796 - A presented frame is shown opaque
- decisions/D797-a-quad-strip-is-seeded-as-the-triangle
- D797 - A quad strip is seeded as the triangle strip over its
quads
- decisions/D798-a-quad-list-is-seeded-two-triangles-a
- D798 - A quad list is seeded two triangles a quad
- decisions/D799-a-port-state-is-its-measured-sixteen
- D799 - A port state is its measured fields, the rest zero
- decisions/D800-a-computed-descriptor-no-lane-reaches
- D800 - a computed descriptor no lane reaches is null
- decisions/D801-a-target-the-drawer-holds-is-not-read
- D801 - a target the drawer holds is not read again
- decisions/D802-a-flip-completion-s-event-id-is-the-one
- D802 - a flip completion's event id is the one the guest acts on
- decisions/D803-a-shipped-module-s-own-imports-are
- D803 - a shipped module's own imports are served from the package
- decisions/D804-a-dispatch-that-fills-a-buffer-writes
- D804 - a dispatch that fills a buffer writes it as a fill
- decisions/D805-the-buffers-a-dispatch-used-are-kept
- D805 - the buffers a dispatch used are kept for the next
- decisions/D806-a-thread-blocked-in-a-call-is-named-in
- D806 - a thread blocked in a call is named in the report
- decisions/D807-the-locks-held-at-the-end-are-named-in
- D807 - the locks held at the end are named in the report
- decisions/D808-a-signal-reaches-a-thread-asleep-on-a
- D808 - a signal reaches a thread asleep on a lock
- decisions/D809-a-buffer-a-dispatch-only-stores-to-is
- D809 - a buffer a dispatch only stores to is not read
- decisions/D810-the-cube-map-face-instructions-follow
- D810 - the cube-map face instructions follow the chain z then y then
x
- decisions/D811-a-cube-sample-reads-six-faces-through-a
- D811 - a cube sample reads six faces through a cube view
- decisions/D812-content-export-starts-for-a-title-s
- D812 - content export starts for a title's allocator block
- decisions/D813-a-signal-raised-on-a-running-thread
- D813 - a signal raised on a running thread waits for its next
wait
- decisions/D814-the-flip-status-reports-the-last-flip
- D814 - the flip status reports the last flip argument
- decisions/D815-playgo-starts-for-a-title-that-treats
- D815 - PlayGo starts for a title that treats it as optional
- decisions/D816-a-depth-compare-sample-reads-a-depth
- D816 - a depth-compare sample reads a depth texture against its
reference
- decisions/D817-a-depth-compare-samples-the-depth
- D817 - A depth compare samples the depth target at its address
- decisions/D818-a-reference-emulator-is-a-prediction-never
- D818 - A reference emulator is a prediction, never a source
- decisions/D819-audio-output-plays-on-a-host-device
- D819 - Audio output plays on a host device through a sink
- decisions/D820-an-audioout2-context-paces-its-blocking
- D820 - An AudioOut2 context paces its blocking pushes by a queue of
grains
- decisions/D821-submissions-may-run-on-the-command
- D821 - Submissions may run on the command processor's own thread
- decisions/D822-a-fragment-module-reads-its-quad-s
- D822 - A fragment module reads its quad's neighbours through the
host's quad
- decisions/D823-a-three-dimensional-image-is-sampled-as
- D823 - A three-dimensional image is sampled as a host volume
- decisions/D824-a-large-range-a-write-watch-mark-is
- D824 - A large range a write-watch mark is taken of is write-protected
while unwritten
- decisions/D825-an-export-s-colour-target-is-a-location
- D825 - An export's colour target is a location, bound by
SPI_SHADER_COL_FORMAT
- decisions/D826-the-system-keyboard-is-typed-into-with-the
- D826 - The system keyboard is typed into with the controller
- decisions/D827-zpass-done-writes-sixteen-backends
- D827 - ZPASS_DONE writes sixteen backends' counters, the count in the
first
- decisions/D828-the-host-gpu-is-chosen-by-orbistoun-gpu
- D828 - The host GPU is chosen by ORBISTOUN_GPU, discrete first by
default
- decisions/D829-a-tracy-build-streams-the-perf-spans-to
- D829 - A tracy build streams the perf spans to the Tracy profiler
- decisions/D830-user-clip-planes-are-clip-distances
- D830 - User clip planes are clip distances from specialization
constants
- decisions/D831-profiling-with-tracy-is-built-in-and
- D831 - Profiling with Tracy is built in and asked for at run time
- decisions/D832-the-loop-resolves-waits-and-promotes
- D832 - The loop resolves waits, and stages the patches that move a
wall
- decisions/D833-a-texture-binds-its-mip-chain-base
- D833 - A texture binds its mip chain, base level to last
- decisions/D834-a-submitted-command-buffer-carries-out
- D834 - A submitted command buffer carries out its write-address
commands
- decisions/D835-a-frame-limit-and-host-cpu-limits-are
- D835 - A frame limit and host CPU limits are performance settings,
global and per title
- decisions/D836-a-title-s-mods-are-user-content-files
- D836 - A title's mods are user content: files layered over its own,
and patches
- decisions/D837-a-sampler-s-table-border-colour-is-read
- D837 - A sampler's table border colour is read from the guest's
table
- decisions/D838-a-batch-map-entry-that-is-not-a-map-is
- D838 - A batch-map entry carries out its operation, as measured
- decisions/D839-save-data-memory-is-a-store-reads-and
- D839 - Save-data memory is a store reads and writes copy through
- decisions/D840-a-resolution-is-checked-against-the
- D840 - A resolution is checked against the rows of the logs it
cites
- decisions/D841-a-handler-short-of-stack-runs-on-a-lent
- D841 - A handler short of stack runs on a lent host thread
- decisions/D842-a-program-that-reads-its-own-address-is
- D842 - A program that reads its own address is translated for it
- decisions/D843-the-index-offset-is-added-to-every
- D843 - The index offset is added to every vertex index
- decisions/D844-a-one-channel-32-bit-float-target-is
- D844 - A one-channel 32-bit float target is drawn and written back as
it is held
- decisions/D845-a-four-channel-half-float-target-is
- D845 - A four-channel half-float target is drawn and written back as
it is held
- decisions/D846-the-command-processor-reaches-the-guest
- D846 - The command processor reaches the guest's heap blocks
- decisions/D847-a-two-channel-half-float-target-is
- D847 - A two-channel half-float target is drawn and written back as it
is held
- decisions/D848-a-ten-bit-unorm-target-is-drawn-and
- D848 - A ten-bit unorm target is drawn and written back as it is
held
- decisions/D849-where-the-gpu-queue-stopped-is-a
- D849 - Where the GPU queue stopped is a position progress
compares
- decisions/D850-a-lane-run-s-addresses-are-found
- D850 - A lane run's addresses are found natively, checked against the
model
- decisions/D851-an-integer-colour-target-takes-the
- D851 - An integer colour target takes the exported bits as they
are
- decisions/D852-a-16-bit-unsigned-integer-target-is
- D852 - A 16-bit unsigned integer target is drawn through a 32-bit one
and written back as it is held
- decisions/D853-a-four-channel-32-bit-float-target-is
- D853 - A four-channel 32-bit float target is drawn and written back as
it is held
- decisions/D854-a-one-byte-alpha-target-is-drawn-in-the
- D854 - A one-byte alpha target is drawn in the frame's alpha and
written back as it is held
- decisions/D855-a-dispatch-s-partial-group-shape-is
- D855 - A dispatch's partial-group shape is read at run time, not
compiled in
- decisions/D856-a-draw-s-device-pipeline-is-shared
- D856 - A draw's device pipeline is shared across the textures it
samples
- decisions/D857-user-clip-planes-are-pushed-with-the
- D857 - User clip planes are pushed with the draw, not compiled in
- decisions/D858-a-thread-group-of-several-waves-runs
- D858 - A thread group of several waves runs one invocation per
wave
- decisions/D859-a-primitive-s-layer-picks-the-slice-it
- D859 - A primitive's layer picks the slice it is drawn into
- decisions/D860-a-resident-draw-s-textures-are-kept-by
- D860 - A resident draw's textures are kept by content, apart from its
pipeline
- decisions/D861-legacy-streamout-runs-as-an-exact
- D861 - Legacy streamout runs as an exact compute dispatch
- decisions/D862-a-render-scale-draws-resident-targets
- D862 - A render scale draws resident targets larger than the
guest's
- decisions/D863-an-instanced-primitive-draw-runs-a
- D863 - An instanced primitive draw runs a workgroup per instance
- decisions/D864-a-guest-s-write-into-a-frame-still-on
- D864 - A guest's write into a frame still on the device costs a band
of rows
- decisions/D865-a-run-s-frame-regions-are-its
- D865 - A run's trace, frames and dumps are its own
- decisions/D866-a-signed-normalised-8-8-8-8-target-is
- D866 - A signed-normalised 8_8_8_8 target is drawn through its own
format
- decisions/D867-a-vertex-s-exported-point-size-is-the
- D867 - A vertex's exported point size is the size it is drawn at
- decisions/D868-a-half-float-target-is-drawn-as-floats
- D868 - A half-float target is drawn as floats and held as halves
- decisions/D869-a-two-channel-8-8-target-is-drawn
- D869 - A two-channel 8_8 target is drawn through an Rgba8
attachment
- decisions/D870-a-two-channel-32-32-integer-target-is
- D870 - A two-channel 32_32 integer target is drawn through
R32G32_UINT
- decisions/D871-a-two-channel-16-16-unorm-target-is
- D871 - A two-channel 16_16 UNORM target is drawn through
R16G16_UNORM
- decisions/D872-a-two-channel-32-32-float-target-is
- D872 - A two-channel 32_32 float target is drawn through
R32G32_SFLOAT
- decisions/D873-a-dcc-target-s-keys-are-read-block-by
- D873 - A DCC target's keys are read block by block
- decisions/D874-a-texture-a-queued-submission-draws
- D874 - A texture a queued submission draws into is read once it has
been carried out
- decisions/D875-a-module-travels-with-the-first-drawn
- D875 - A module travels with the first drawn submission that binds
it
- decisions/D876-memory-a-queued-submission-writes-is-read
- D876 - Memory a queued submission writes is read once it has been
carried out
- decisions/D877-an-ampr-command-buffer-s-reset-rewinds
- D877 - An AMPR command buffer's reset rewinds its commands
- decisions/D878-a-flat-segment-access-reaches-global
- D878 - A flat-segment access reaches global memory
- decisions/D879-a-vertex-fetch-indexed-by-the-vertex-id
- D879 - A vertex fetch indexed by the vertex id binds only the records
the draw can index
- decisions/D880-a-dispatch-that-never-meets-its-wave
- D880 - A dispatch that never meets its wave runs one invocation per
lane
- decisions/D881-a-legacy-vertex-shader-draws-as-a-mesh
- D881 - A legacy vertex shader draws as a mesh shader that assembles
its own primitives
- decisions/D882-a-target-a-queued-submission-draws-is
- D882 - A target a queued submission draws is sampled as it is carried
out
- decisions/D883-a-dispatch-s-global-loads-are-bound
- D883 - A dispatch's global loads are bound from the addresses its
waves form
- decisions/D884-a-dispatch-that-reads-a-lane-mask-whole
- D884 - A dispatch that reads a lane mask whole builds it from its
lanes
- decisions/D885-a-frame-switched-from-waits-on-the
- D885 - A frame switched from waits on the device until it is read
- decisions/D886-an-end-of-pipe-action-s-data-is-patched
- D886 - An end-of-pipe action's data is patched where radeonsi emits
it
- decisions/D887-guest-wildcard-binds-go-to-host
- D887 - Guest wildcard binds go to host loopback unless LAN is opted
in
- decisions/D888-a-guest-dispatch-runs-on-a-queue-of-its
- D888 - A guest dispatch runs on a queue of its own
- decisions/D889-an-ajm-batch-decodes-on-the-host-when
- D889 - An Ajm batch decodes on the host when it is started
- decisions/D890-a-rewind-released-resumes-only-a
- D890 - A REWIND released resumes only a command stream held at it
- decisions/D891-an-asynchronous-compute-stream-waiting
- D891 - An asynchronous compute stream waiting on a fence steps
aside
- decisions/D892-a-group-of-waves-meets-at-the-workgroup
- D892 - A group of waves meets at the workgroup barrier where no branch
crosses it
- decisions/D893-a-compute-dispatch-stores-to-each-image
- D893 - A compute dispatch stores to each image its descriptors
name
- decisions/D894-a-dispatch-that-fetches-a-depth-target
- D894 - A dispatch that fetches a depth target reads the host's
depths
- decisions/D895-a-2d-array-access-to-a-one-layer-image
- D895 - A 2D array access to a one-layer image reaches layer zero
- decisions/D896-a-refused-dispatch-or-draw-can-be
- D896 - A refused dispatch or draw can be passed over to see every
wall
- decisions/D897-a-dispatch-fetches-any-layer-of-a-2d
- D897 - A dispatch fetches any layer of a 2D array
- decisions/D898-a-triangle-fan-is-seeded-and-drawn-in
- D898 - A triangle fan is seeded, and drawn in chunks of a list
- decisions/D899-an-array-slice-takes-its-pipe-bank-xor
- D899 - An array slice takes its pipe-bank XOR, and DCC on a slice is
expanded
- decisions/D900-a-computed-descriptor-is-found-by
- D900 - A computed descriptor is found by running the dispatch's
waves
- decisions/D901-a-descriptor-read-at-an-offset-the-host
- D901 - A descriptor read at an offset the host cannot know binds its
whole buffer
- decisions/D902-each-asynchronous-compute-queue-keeps
- D902 - Each asynchronous compute queue keeps its own order
- decisions/D903-a-direct-dispatch-s-modifier-reaches
- D903 - A direct dispatch's modifier reaches its initiator
- decisions/D904-a-dispatch-samples-through-its-guest
- D904 - A dispatch samples through its guest sampler
- decisions/D905-a-grid-given-in-threads-runs-the-groups
- D905 - A grid given in threads runs the groups covering it
- decisions/D906-a-one-layer-depth-array-is-the-held
- D906 - A one-layer depth array is the held depth target
- decisions/D907-a-dispatch-samples-a-cube-through-its
- D907 - A dispatch samples a cube through its six faces
- decisions/D908-a-dispatch-reads-and-stores-packed-11
- D908 - A dispatch reads and stores packed 11-11-10 floats
- decisions/D909-a-depth-target-is-the-slice-its-view
- D909 - A depth target is the slice its view names
- decisions/D910-a-fetch-from-a-later-layer-reads-the
- D910 - A fetch from a later layer reads the array whole
- decisions/D911-a-class-compare-answers-from-the-value
- D911 - A class compare answers from the value's bits
- decisions/D912-a-draw-samples-a-tiled-cube-s-six
- D912 - A draw samples a tiled cube's six faces
- decisions/D913-a-gather-returns-one-component-of-four
- D913 - A gather returns one component of four texels
- decisions/D914-a-dispatch-s-group-decided-descriptor
- D914 - A dispatch's group-decided descriptor is found group by
group
- decisions/D915-a-strideless-structured-buffer-bounds
- D915 - A strideless structured buffer bounds its offset as raw
- decisions/D916-a-dispatch-reads-16-bit-standard
- D916 - A dispatch reads 16-bit standard-swizzle arrays
- decisions/D917-a-strideless-structured-buffer-is-bound
- D917 - A strideless structured buffer is bound by its records, not by
hardware
- decisions/D918-a-draw-samples-a-depth-cube-from-its
- D918 - A draw samples a depth cube from its six drawn slices
- decisions/D919-buffer-and-float-atomics-as-integer
- D919 - Buffer and float atomics as integer atomics
- decisions/D920-a-flat-sample-of-an-array-reads-its
- D920 - A flat sample of an array reads its first layer
- decisions/D921-a-descriptor-that-names-no-image-binds
- D921 - A descriptor that names no image binds the null texture
- decisions/D922-a-load-of-a-cube-by-face-reads-its
- D922 - A load of a cube by face reads its slices as an array
- decisions/D923-every-guest-image-format-maps-to-a-host
- D923 - Every guest image format maps to a host format or refuses by
name
- decisions/D924-an-instruction-the-host-lacks-runs-from
- D924 - An instruction the host lacks runs from a trampoline, or at its
fault where none fits
- decisions/D925-video-decodes-on-the-host-s-own-media
- D925 - Video decodes on the host's own media decoder
- decisions/D926-atrac9-decodes-in-an-in-tree-rust
- D926 - ATRAC9 decodes in an in-tree Rust reimplementation of
LibAtrac9
- decisions/D927-a-stencil-plane-a-draw-loads-binds-as
- D927 - A stencil plane a draw loads binds as its values' bits
- decisions/D928-tessellated-draws-run-their-hull-as
- D928 - Tessellated draws run their hull as compute and tessellate on
the CPU
- decisions/D930-an-event-queue-keeps-its-events-as
- D930 - An event queue keeps its events as FreeBSD's kqueue keeps
knotes
- decisions/D931-a-multisampled-draw-is-refused-by-the
- D931 - A multisampled draw is named by the register that asked for
it
- decisions/D932-a-graphics-stream-waiting-on-memory
- D932 - A graphics stream waiting on memory goes on once the word
holds
- decisions/D933-a-compared-cube-sample-reads-its
- D933 - A compared cube sample reads its direction against the
reference
- decisions/D934-an-image-descriptor-loaded-through-a
- D934 - An image descriptor loaded through a buffer is read where the
buffer holds it
- decisions/D935-a-depth-target-only-cleared-samples-as
- D935 - A depth target only cleared samples as its clear value
- decisions/D936-a-layered-depth-only-draw-is-drawn-a
- D936 - A layered depth-only draw is drawn a pass per depth slice
- decisions/D937-a-buffer-bound-twice-to-one-range-is
- D937 - A buffer bound twice to one range is one buffer
- decisions/D938-a-polygon-offset-in-whole-depth-units
- D938 - A polygon offset in whole depth units pins depth to the range
end
- decisions/D939-a-depth-surface-no-draw-targeted-is
- D939 - A depth surface no draw targeted is read from guest memory
- decisions/D940-a-grid-in-threads-with-no-partial-group
- D940 - A grid in threads with no partial group runs whole groups
- decisions/D941-a-depth-only-draw-is-sized-by-its-depth
- D941 - A depth-only draw is sized by its depth surface
- decisions/D942-a-texture-whose-keys-are-all
- D942 - A texture whose keys are all uncompressed is read as plain
texels
- decisions/D943-a-relative-register-move-selects-among
- D943 - A relative register move selects among the registers past its
source
- decisions/D944-a-tiled-float-texture-sampled-through-a
- D944 - A tiled float texture sampled through a compare is read by its
swizzle equation
- decisions/D945-a-dispatch-whose-buffer-is-not-guest
- D945 - A dispatch whose buffer is not guest memory yet is polled
- decisions/D946-a-structured-buffer-is-read-within-its
- D946 - A structured buffer is read within its records
- decisions/D947-every-opcode-is-named-by-sweeping-the
- D947 - Every opcode is named by sweeping the reference
disassembler
- decisions/D948-extra-colour-attachments-stay-on-the
- D948 - Extra colour attachments stay on the device across draw
segments
- decisions/D949-a-runaway-guest-loop-is-cut-and
- D949 - A runaway guest loop is cut and reported
- decisions/D950-a-dispatch-too-large-to-replay-binds
- D950 - A dispatch too large to replay binds its global loads from a
sample of its groups
- decisions/D951-a-computed-descriptor-too-large-to-run
- D951 - A computed descriptor too large to run wave by wave binds from
a sample of its groups
- decisions/D952-computed-accesses-through-one-unwritten
- D952 - Computed accesses through one unwritten descriptor share a
buffer
- decisions/D953-overlapping-buffers-a-dispatch-writes
- D953 - Overlapping buffers a dispatch writes bind one buffer
- decisions/D954-a-dispatch-s-scratch-is-each-wave-s-own
- D954 - A dispatch's scratch is each wave's own private memory
- decisions/D955-a-64-bit-buffer-atomic-reaches-its-pair
- D955 - A 64-bit buffer atomic reaches its pair as one word
- decisions/D956-a-whole-wave-s-lane-work-is-one-loop
- D956 - A whole wave's lane work is one loop over its lanes
- decisions/D957-a-dispatch-is-captured-to-be-replayed
- D957 - A dispatch is captured to be replayed alone
- decisions/D958-shader-costs-are-measured-from-kept
- D958 - Shader costs are measured from kept translations
- decisions/D959-a-grid-in-threads-runs-a-partial-last
- D959 - A grid in threads runs a partial last group
- decisions/D960-a-computed-image-descriptor-is-found
- D960 - A computed image descriptor is found where it is read
- decisions/D961-a-dispatch-s-global-loads-bind-the
- D961 - A dispatch's global loads bind the pages they read
- decisions/D962-a-loop-invariant-computed-descriptor-is
- D962 - A loop-invariant computed descriptor is read at its first
reach
- decisions/D963-a-dispatch-binds-the-storage-images-it
- D963 - A dispatch binds the storage images it stores to
- decisions/D964-ray-traversal-passes-address-guest
- D964 - Ray traversal passes address guest memory directly
- decisions/D965-the-guest-s-float-mode-decides-a-module
- D965 - The guest's float mode decides a module's float controls
- decisions/D966-a-descriptor-a-dispatch-selects-from-a
- D966 - A descriptor a dispatch selects from a table at run time binds
every record
- decisions/D967-a-format-load-through-a-descriptor-the
- D967 - A format load through a descriptor the program computes decodes
it in place
- decisions/D968-a-page-committed-after-the-device
- D968 - A page committed after the device mapped its run is mapped
before the next dispatch
- decisions/D969-a-device-address-lookup-reads-a-table
- D969 - A device-address lookup reads a table in device memory
- decisions/D970-a-device-addressed-dispatch-reads-the
- D970 - A device-addressed dispatch reads the descriptors it loads
where they lie
- decisions/D971-a-device-addressed-escape-names-its
- D971 - A device-addressed escape names its page, and capture keeps the
pages a dispatch names
- decisions/D972-a-program-s-control-flow-is-laid-out-as
- D972 - A program's control flow is laid out as structure where it
nests
- decisions/D973-a-wave-twice-its-subgroup-runs-two
- D973 - A wave twice its subgroup runs two lanes an invocation
- decisions/D974-device-addressed-dispatches-copy-the
- D974 - Device-addressed dispatches copy the guest chunks they reach
into device memory
- decisions/D975-every-module-the-translator-makes-is
- D975 - Every module the translator makes is valid as spirv-val
decides
- decisions/D976-a-dispatch-s-depth-compare-sample
- D976 - A dispatch's depth-compare sample compares in the module
- decisions/D977-a-sub-word-store-merges-into-its-word
- D977 - A sub-word store merges into its word as one step a part
- decisions/D978-a-lane-write-reaches-its-lane-whether
- D978 - A lane write reaches its lane whether it runs or not
- decisions/D979-sdwa-and-dpp-operand-modifiers-are-one
- D979 - SDWA and DPP operand modifiers are one shared path over any
eligible instruction
- decisions/D980-a-device-addressed-capture-holds-every
- D980 - A device-addressed capture holds every chunk its dispatch
reached
- decisions/D981-keep-a-dispatch-s-traced-buffers-with
- D981 - Keep a dispatch's traced buffers with the guest memory they
were worked out from
- decisions/D982-a-dispatch-whose-buffers-only-a-host
- D982 - A dispatch whose buffers only a host run finds goes
device-addressed
- decisions/D983-an-image-a-dispatch-selects-from-a
- D983 - An image a dispatch selects from a table at run time is read
from an array of every image the table names
- decisions/D984-in-world-frame-costs-host-page-queries
- D984 - In-world frame costs: host page queries, texel offset tables
and dispatch buffer size classes
- decisions/D986-a-frame-s-passes-dumped-one-by-one-and
- D986 - A frame's passes dumped one by one, and their outputs
judged
- decisions/D987-a-pad-script-step-can-wait-for-the
- D987 - A pad script step can wait for the guest's first heavy
frame
- decisions/D988-a-held-stick-is-shown-to-reach-the
- D988 - A held stick is shown to reach the picture by frame motion
between kept flips
- decisions/D989-a-queued-dispatch-s-image-stores-are
- D989 - A queued dispatch's image stores are bounded by their
descriptors
- decisions/D990-dispatch-images-are-kept-on-the-device
- D990 - Dispatch images are kept on the device between dispatches
- decisions/D991-a-device-addressed-dispatch-is-traced
- D991 - A device-addressed dispatch is traced on the host with its
images
- decisions/D992-a-ray-intersection-completes-its-node
- D992 - A ray intersection completes its node tests
- decisions/D993-a-fused-multiply-add-rounds
- D993 - A fused multiply-add rounds once
- decisions/D994-compiled-pipelines-are-kept-one-checked
- D994 - Compiled pipelines are kept one checked entry a pipeline
- decisions/D995-a-compare-through-a-sampler-the-host
- D995 - A compare through a sampler the host cannot name reads it as
the module runs
- decisions/_preamble -
decisions/_preamble
- titles/BFpilot_v0.4.4 -
BFpilot_v0.4.4
- titles/BGII00001 - Bugdom 2
- titles/BUGD00001 - Bugdom
- titles/BackPork_0.1 -
BackPork_0.1
- titles/CRFT00001 - Craft
- titles/CheatRunner_v0.17
- CheatRunner_v0.17
- titles/DRIP00001 - Mesa DRI
Probe
- titles/ETXR00001 - Extreme Tux
Racer
- titles/GALR00001 - OOPS
Gallery
- titles/GCTS00001 - OpenGL
CTS
- titles/GLCB00001 - GL1 Cube
- titles/GLPB00001 - GL1
Probe
- titles/GLTC00001 - GL2 Cube
- titles/GLTP00001 - GL2
Probe
- titles/Lapy-JB-Daemon_v1.2 -
Lapy-JB-Daemon_v1.2
- titles/MCUB00001 - Mesa
Cube
- titles/MDEM00001 - Mesa
Demos
- titles/MESA00001 - Mesa
Probe
- titles/NETT00001 - Net Tool
- titles/NVPT00001 -
Neverputt
- titles/NVRB00001 -
Neverball
- titles/OPSY00001 -
OOPSy-DAISY
- titles/PADV00001 - Pad
Visualizer
- titles/PPSA02664-app0 -
Alex Kidd in Miracle World DX
- titles/PPSA03416-app0 -
Summer Sports Games
- titles/PPSA04263-app0 -
Grand Theft Auto V
- titles/PPSA21564-app0 -
ASTRO BOT
- titles/PPSA25872-app0 -
Terminator 2D: NO FATE
- titles/PPSA28061-app0 -
Earthion
- titles/PPSA99980 - obSCEne
- titles/SCSH00001 - SeaShell
- titles/SOHK00001 - Ship of
Harkinian
- titles/STKT00001 -
SuperTuxKart
- titles/ShadowMountPlus_1.6beta16
- ShadowMountPlus_1.6beta16
- titles/TSHP00001 - 2 Ship 2
Harkinian
- titles/WebKit-Autoloader-Installer_v0.4.0
- WebKit-Autoloader-Installer_v0.4.0
- titles/dist - dist
- titles/elfldr_v0.26 -
elfldr_v0.26
- titles/etaHEN_2.5B -
etaHEN_2.5B
- titles/ftpsrv-drakmor_1.15-ng-stable
- ftpsrv-drakmor_1.15-ng-stable
- titles/ftpsrv_v0.21.1 -
ftpsrv_v0.21.1
- titles/garlic-savemgr_v1.13
- garlic-savemgr_v1.13
- titles/klogsrv_v0.9 -
klogsrv_v0.9
- titles/kstuff-lite_v1.10
- kstuff-lite_v1.10
- titles/kstuff-toggle_0.6
- kstuff-toggle_0.6
- titles/kstuff_v1.6.7 -
kstuff_v1.6.7
- titles/nanoDNS_0.4 -
nanoDNS_0.4
- titles/obscene-probe-prospero-native
- obSCEne
- titles/payloads - payloads
- titles/pldmgr_v0.5.1 -
pldmgr_v0.5.1
- titles/prosperous -
prosperous
- titles/ps5-app-dumper_v1.11
- ps5-app-dumper_v1.11
- titles/ps5-linux-loader_v2.4
- ps5-linux-loader_v2.4
- titles/ps5-web-file-manager_v1.7
- ps5-web-file-manager_v1.7
- titles/ps5debug-NG_1.3.0
- ps5debug-NG_1.3.0
- titles/ps5upload_v5.14.0
- ps5upload_v5.14.0
- titles/shsrv_v0.20 -
shsrv_v0.20
- titles/websrv_v0.34 -
websrv_v0.34
- titles/zftpd_v1.5.0 -
zftpd_v1.5.0
Project memory