# How to Use the Artemis Game Patching Engine With webMAN MOD: Complete Integration Guide

> Integrate Artemis game patching with webMAN MOD for real-time memory patching. Learn how to enable this powerful feature easily through XMB, web UI, or controller shortcuts.

- Repository: [Aldo Vargas/webman-mod](https://github.com/aldostools/webman-mod)
- Tags: how-to-guide
- Published: 2026-02-24

---

**Yes, the Artemis game patching engine is fully integrated into webMAN MOD starting with build 1.47.41, requiring only a configuration checkbox to enable real-time memory patching through the XMB, web interface, or controller shortcuts.**

The aldostools/webman-mod repository includes the complete Artemis implementation as a built-in subsystem rather than an external plugin. This integration allows PlayStation 3 users to apply runtime memory patches (cheats) to games directly through webMAN MOD's existing infrastructure without installing additional software.

## How Artemis Is Integrated Into webMAN MOD

The Artemis engine is embedded directly into the webMAN MOD codebase, compiled conditionally and activated through the standard configuration system.

### Compile-Time Implementation

The Artemis source code resides in [`include/ps3mapi/artemis.h`](https://github.com/aldostools/webman-mod/blob/main/include/ps3mapi/artemis.h) and is wrapped in preprocessor directives to control build inclusion. The `ARTEMIS_PRX` macro, defined in [`flags.h`](https://github.com/aldostools/webman-mod/blob/main/flags.h), determines whether the engine compiles into the final binary.

```c
// From include/ps3mapi/artemis.h - lines 1-3
#ifdef ARTEMIS_PRX
// Full Artemis implementation follows
#endif

```

Standard full-featured builds define this flag automatically, while minimal builds may exclude it to reduce memory footprint.

### Runtime Activation

When `webman_config->artemis` is set to true, the webMAN setup interface exposes the Artemis option and initializes the necessary hooks. The `start_artemis()` function launches a dedicated thread that manages patch application and controller input monitoring.

## Enabling and Configuring Artemis

Activation requires enabling the Artemis checkbox in the webMAN configuration panel. In [`include/setup.h`](https://github.com/aldostools/webman-mod/blob/main/include/setup.h) at line 878, the UI adds this control:

```c
// include/setup.h - line 878
add_checkbox_line("ar", "Artemis", (webman_config->artemis), buffer);

```

Navigate to **webMAN Games > webMAN Setup** on your PS3, locate the **Artemis** checkbox, and enable it. Save the configuration and refresh the XMB to expose the Artemis menu entry.

## Starting Artemis: Web Commands and Controller Shortcuts

Once enabled, you can trigger the patching engine through multiple interfaces depending on your preference and current activity.

### Web Interface Method

Send an HTTP request to your console's IP address to start Artemis remotely:

```bash

# Replace <ps3-ip> with your console's IP address

curl http://<ps3-ip>/artemis.ps3

```

This command works from any device on the same network and is useful for automation scripts or remote management.

### Controller Pad Shortcuts

The `art_thread()` function in [`include/ps3mapi/artemis.h`](https://github.com/aldostools/webman-mod/blob/main/include/ps3mapi/artemis.h) (lines 74-100) monitors controller input for specific combinations:

- **START** — Attach to the current game process and load the default `.ncl` codelist
- **START + R2** — Load and apply the right-trigger variant (`*_r2.ncl`)
- **START + L2** — Load and apply the left-trigger variant (`*_l2.ncl`)
- **SELECT** — Detach from the process and stop patching

These shortcuts function only while `webman_config->artemis` is enabled and a supported game is running.

## Understanding the Code Implementation

The integration relies on three core components working together to parse cheat files and write to process memory.

### Core Header File

[`include/ps3mapi/artemis.h`](https://github.com/aldostools/webman-mod/blob/main/include/ps3mapi/artemis.h) contains the complete engine implementation, including:
- Thread management (`start_artemis()`)
- Memory scanning and writing routines
- Network control protocol (NCL) parsing logic
- Pad handling for shortcut detection

This single header provides the entire functionality, keeping the integration lightweight and maintainable.

### Codelist Initialization

When you launch a game, `init_codelist()` automatically scans for matching `.ncl` files and copies them into internal buffers. This function, located at lines 33-55 of [`include/ps3mapi/artemis.h`](https://github.com/aldostools/webman-mod/blob/main/include/ps3mapi/artemis.h), prepares the cheat data before the Artemis thread begins execution.

```c
// Pseudocode representation of the initialization flow
if (webman_config->artemis && IS_INGAME) {
    init_codelist();      // Copies *.ncl files to buffers
    start_artemis();      // Launches the patching thread
}

```

The engine supports multiple codelist variants for the same game, allowing you to switch between cheat sets using the L2 and R2 modifiers without restarting the application.

## Practical Usage Examples

**Programmatic activation from another module:**

```c
#include "include/ps3mapi/artemis.h"

// Check if Artemis is enabled and game is running
if (webman_config->artemis && IS_INGAME) {
    start_artemis();   // Begins the art_thread monitoring loop
}

```

**Remote triggering via browser:**

Navigate to `http://[PS3_IP]/artemis.ps3` to toggle the patching session without touching the controller.

## Summary

- **Artemis is built-in**, not an external plugin, since webMAN MOD build 1.47.41 according to the aldostools/webman-mod source code
- **Enable via checkbox** in the webMAN Setup page (controlled by `webman_config->artemis`)
- **Trigger via HTTP** using the `/artemis.ps3` endpoint or **controller shortcuts** (START, START+R2/L2, SELECT)
- **Source files** are located in [`include/ps3mapi/artemis.h`](https://github.com/aldostools/webman-mod/blob/main/include/ps3mapi/artemis.h) with UI elements in [`include/setup.h`](https://github.com/aldostools/webman-mod/blob/main/include/setup.h) line 878
- **Codelists** use `.ncl` format and auto-load when games start through `init_codelist()`

## Frequently Asked Questions

### Is Artemis included in all webMAN MOD builds?

No. Artemis compiles only when the `ARTEMIS_PRX` macro is defined in [`flags.h`](https://github.com/aldostools/webman-mod/blob/main/flags.h). Full-featured builds include it by default, but minimal or specialized builds may exclude the engine to conserve system resources. Check your build version or compile from source with the flag enabled to ensure support.

### How do I load cheat codes for a specific game?

Place your cheat file in the appropriate directory with the game's ID as the filename (e.g., `BLES12345.ncl`). When you launch the game, `init_codelist()` automatically detects and loads the matching file into Artemis's internal buffers. You can also create `BLES12345_r2.ncl` and `BLES12345_l2.ncl` variants for trigger-specific cheat sets.

### Can I use Artemis without accessing the web interface?

Yes. Once enabled in the configuration, controller shortcuts provide full control. Press **START** to attach and apply cheats, **START+R2** or **START+L2** for alternate cheat lists, and **SELECT** to detach. These inputs are processed by the `art_thread()` function in [`include/ps3mapi/artemis.h`](https://github.com/aldostools/webman-mod/blob/main/include/ps3mapi/artemis.h) without requiring network access.

### What file format does Artemis use for cheat codes?

Artemis uses the **NCL (NetCheat List)** format, typically saved with the `.ncl` extension. These files contain memory addresses, values, and conditional logic that the engine parses and applies each frame to the attached game process. The README.md confirms that Artemis automatically copies these files when a game starts.