Repository navigation
Releases
CrossPascal EA020
EA020 r7 keeps the setup and file-inventory corrections from r6 and uses a separate installation directory, so an earlier SDK receipt cannot block the revised download. Existing installations are preserved. The Pascal code, projects and binaries are unchanged from r5.
EA020 r6 corrects YOLO setup links when switching between detection and classification, clarifies Gemma device choices and native image decoding, and supplies SDK component indexes that match the shipped files. The Pascal code, projects and binaries are unchanged from r5.
Current downloads
The automatic GitHub Source code ZIP and tar.gz capture the original EA020 tag. Earlier SDK and source attachments remain available for installations pinned to their checksums.
EA020 r5 corrects the PaddleOCR image dimensions in Delphi and places each path field before Browse in the keyboard order. The vision download guide now matches the published setup sizes. The revised PaddleOCR example was built and checked in Delphi 13.2 and Lazarus 4.8; CPU and CUDA sm_89 runs passed.
Current release inventory | Current Prepare manifest
CrossPascal EA020 adds PaddleOCR to the native Windows x64 SDK. The Delphi and Lazarus example finds text regions in a photo, reads each crop, and saves UTF-8 text or JSON with region coordinates and confidence scores.
Prepare and run
- Prepare PaddleOCR for CPU for Windows x64 with AVX2 and FMA.
- Prepare PaddleOCR for NVIDIA GPU with a CUDA 12.8 driver and at least 2 GiB of free GPU memory.
- All example launchers and the revised Windows x64 SDK.
Extract the ZIP, open its folder and run Prepare.cmd. The CPU and GPU folders are prepare-paddleocr-cpu and prepare-paddleocr-gpu. The prepared example opens the sample photo and points to the two model folders. Select Read text. The same source builds with Delphi 13.2 and Lazarus 4.8. The supplied example executable is a Lazarus build.
The revised launchers wait for a key after showing the setup result, including the Delphi and Lazarus project paths or an error. The revised SDK installs alongside the original EA020 SDK and uses the shared download cache for model bundles and dependencies. For scripted runs set CROSSPASCAL_PREPARE_NO_PAUSE=1.
CPU and CUDA example launchers
Use the device-specific launcher to prepare the same Pascal project on CPU or CUDA. The combined launcher includes all 14 projects and supports automatic device selection.
| Example | CPU | NVIDIA CUDA |
|---|---|---|
| QwenChat | Prepare CPU | Prepare CUDA |
| GemmaChat | Prepare CPU | Prepare CUDA |
| LoadUnload | Prepare CPU | Prepare CUDA |
| GenerateText | Prepare CPU | Prepare CUDA |
| GenerationSettings | Prepare CPU | Prepare CUDA |
| StreamAndStop | Prepare CPU | Prepare CUDA |
| RepeatedRequests | Prepare CPU | Prepare CUDA |
| ImagePrompt | Prepare CPU | Prepare CUDA |
Model downloads
The download catalog lists the separate PP-OCRv5 Server detector and recognizer archives, SHA-256 checksums for the downloaded ZIPs and the DLLs inside them, and the pinned ONNX source archives. The legacy sha256 field still identifies the DLL. Use archive_sha256 to check a downloaded model ZIP. CPU and CUDA packages are separate. The CUDA targets are compute capabilities 6.1, 7.5, 8.6, 8.9 and 12.0. Extract the matching detector and recognizer ZIPs into the same parent to obtain the det and rec model folders. Keep the dictionary with the recognizer.
CrossPascal Converter can compile the pinned ONNX exports into native TVM bundles. The recognizer export needs ppocrv5_dict.txt beside model.onnx. Inference and conversion run without Python. The example guide has the setup steps and model terms.
Verification and scope
The fixed 960 × 960 detection and 48 × 320 recognition profiles were compared with the original ONNX path on two photos. The native CPU and sm_89 CUDA runs matched the reference text in 43 regions per device, with region corners within one pixel and confidence within 0.01. The other CUDA targets have compiled and checked kernel images. Wide text crops are constrained by the recognizer width.
PaddlePaddle publishes PP-OCRv5 Server under Apache-2.0. The model archives retain the license, provenance and modification notice. Clipper 6.4.2 uses the Boost Software License, and original CrossPascal code uses MIT. The source archive includes the corresponding Pascal and Clipper sources.
CrossPascal Early Access 019
Archive layout update
Prepare ZIPs use lowercase folders at every level. The updated SDK installs alongside earlier EA019 installations. Existing installations and cached model files remain usable. Use the current SDK and source links below for new downloads.
Preparation update: local rebuilds
Repeated Prepare runs now preserve locally rebuilt example executables and linker outputs, as well as Pascal package project edits. The fix applies to every standalone and combined EA019 Prepare kit, including the individual CPU/GPU vision downloads. Runtime libraries, converter tools and models remain SHA-256 checked. Missing or changed fixed files are reported by path.
Download a fresh Prepare ZIP and run it in your existing installation. The SDK archive and model files are unchanged; your sources and local builds are preserved. Both source archives and download catalogs have been updated.
Update: individual vision downloads
Each of the five vision profiles now has separate CPU and NVIDIA GPU preparation downloads. Extract the ZIP, open its enclosing folder, and run Prepare.cmd. The selected model and bus image are preselected; only that model and shared SDK/runtime files are downloaded. GPU preparation selects the matching compute capability.
| Model | CPU | GPU |
|---|---|---|
| SqueezeNet 1.1 | Prepare CPU | Prepare GPU |
| ResNet50 v1 | Prepare CPU | Prepare GPU |
| YOLO11n classification | Prepare CPU | Prepare GPU |
| YOLO11n detection | Prepare CPU | Prepare GPU |
| RT-DETR R18vd | Prepare CPU | Prepare GPU |
Manual model ZIPs, exact sizes and requirements. SHA-256 catalog. Current source snapshot.
All 13 existing standalone Prepare ZIPs have also been corrected to contain one enclosing folder. Their script and manifest contents are unchanged. Existing combined model kits and SDK remain available.
These per-model packages reuse the accepted CPU/CUDA model files without reconversion. Fresh public preparation and native inference were checked for all five models on CPU and RTX 4060 Ti (CC 8.9). Retained CC 7.5 execution evidence still applies to unchanged model bytes; CC 6.1, 8.6 and 12.0 remain build-only checks.
CrossPascal runs local language and vision models from Delphi and Lazarus through TVM on Windows x64. EA019 adds ready NVIDIA CUDA bundles alongside the CPU bundles. Model conversion and inference both run without Python.
Run your first example
Start with VisionModels to try object detection and image classification on the supplied photo. Choose QwenChat or GemmaChat if you want to ask a question about an image.
| Prepare ZIP | CPU download | CUDA download | Free VRAM for CUDA |
|---|---|---|---|
| VisionModels | 800 MiB | 800 MiB | 1,024 MiB |
| QwenChat · Qwen2.5-VL 3B | 5.4 GiB | 4.1 GiB | 5,120 MiB |
| GemmaChat · Gemma 3n E4B | 11.5 GiB | 8.6 GiB | 5,500 MiB |
| GenerateText · Gemma 2 2B | 3.8 GiB | 3.1 GiB | 5,500 MiB |
The table shows approximate first-run downloads, including the SDK and model files. Leave room for the extracted files too. On a hard drive, unpacking and verifying the files can take longer than downloading them.
- Extract the ZIP and run
Prepare.cmd. It checks your PC, prints the selected package and shows the download size. Public downloads need no GitHub sign-in or token. - Open the prepared
.dprojin Delphi 13.2 or.lpiin Lazarus 4.8. Select the Windows 64-bit target and run the project. - In VisionModels, choose a profile and click Run inference. In either chat, click Load model, attach a photo if you like, then click Generate.
The kit for all 13 examples contains the setup scripts. Running all 13 with an empty cache downloads about 21.0 GiB in CPU mode, or 16.2 GiB when CUDA is selected for all supported examples. The preparation guide lists RAM, disk space and installation paths.
CPU and CUDA
Prepare selects CUDA when the driver, compute capability and free GPU memory meet the requirements. Otherwise it selects CPU and explains why. To choose explicitly, run Prepare.cmd -Device CPU or Prepare.cmd -Device CUDA.
CUDA inference needs a Windows NVIDIA driver that supports CUDA 12.8. Build checks cover compute capabilities 6.1, 7.5, 8.6, 8.9 and 12.0. The language and vision examples ran on an RTX 4060 Ti (8.9). All five vision profiles also ran on a GTX 1650 (7.5). For the language models, start with an 8 GiB card and check the free VRAM in the table.
VisionModels includes YOLO11n detection and classification, RT-DETR R18vd, SqueezeNet 1.1 and ResNet50 v1. Qwen2.5-VL and Gemma 3n accept text and images. Gemma 2 is an experimental text-only profile for short completions. Browse the model catalog and known limitations for details on each profile.
SDK, source and model terms
- The Windows x64 SDK includes the native converter and all 13 examples. The converter guide lists supported checkpoints and build tools. Use CUDA Toolkit 12.8 to build CUDA bundles. The prepared examples use the supplied runtime and the NVIDIA driver.
- Browse the Pascal examples or download the source archive, which records the five repository revisions.
- Check the model and library terms before using or redistributing bundles. The Gemma bundles use Gemma Terms, Qwen2.5-VL 3B uses the Qwen Research License for non-commercial research and evaluation, and YOLO11n uses AGPL-3.0.
If an example fails, open an issue with the example name, CPU or CUDA mode, and the message printed by Prepare or the app. For CUDA, include your GPU model and driver version.
CrossPascal Early Access 018
CrossPascal Early Access 018
The Windows x64 SDK runs the supported language and vision models through TVM directly from Pascal. CrossPascal Converter builds TVM bundles from supported original checkpoints. Inference and conversion run without Python.
Download the Prepare kit, extract it and run Prepare.cmd. Choose an example and wait for READY. Open the prepared .dproj in Delphi 13.2 or .lpi in Lazarus 4.8. Public downloads require no GitHub account or token. The default installation is %LOCALAPPDATA%/CrossPascal/early-access-018, with a shared download cache for model archives.
The Windows x64 SDK contains the native converter, TVM runtime, compiler and 13 examples. The source archive lists the five source revisions. EA018 uses the binaries tested with the EA017 native update. Image requests can take several minutes on CPU.
Model and library terms
Original CrossPascal code uses MIT; it does not assign MIT to dependencies or models.
- Qwen2.5-VL 3B Instruct: Qwen Research License, for non-commercial research and evaluation. Commercial use requires a separate license from Alibaba Cloud. Built with Qwen. Dense Qwen checkpoints have their own licenses.
- Gemma 2 and Gemma 3n: Gemma Terms of Use and Prohibited Use Policy. Preserve the supplied terms, NOTICE and modification records, and carry the use restrictions into onward distribution agreements.
- YOLO11n detection/classification: AGPL-3.0; review Ultralytics licensing for proprietary deployments. SqueezeNet, ResNet50 and RT-DETR use Apache-2.0 as declared in their source packs.
- OpenCV/FFmpeg: retain the matching source package and notices. The supplied build statically links LGPL FFmpeg; its RELINKING.md describes the full-source rebuild procedure.
Read the complete license scope and preparation guide.
Retained dependencies and corresponding sources
Prepare uses SHA-256-pinned assets from this release, EA016, EA015 and CPU models EA015. These releases remain available.
The matching native and vision source packages are attached to EA015:
- crosspascal-opencv-native-sources-windows-x64-ea008.zip
- crosspascal-leptonica-native-sources-windows-x64-ea008.zip
- crosspascal-cpu-model-sources-ea008.zip
Their filenames identify the unchanged source packages, not a dependency on the old EA008 release page. EA008 is preserved as a draft because its superseded launcher contains a local build path. Its tag and assets have not been rewritten or deleted.
PUBLIC-RELEASE-CONTENTS.json records the exact retained historical assets and the EA017 package list. The historical packages retain their original behavior; use EA018 for current setup. The audit is a package/provenance and targeted content check, not a general security certification. Prepare uses anonymous GitHub downloads by default; an optional login can raise the request limit.
CrossPascal Early Access 017
CrossPascal Early Access 017
The Windows x64 SDK now runs the supported models through native TVM directly from Pascal. CrossPascalConvert.exe builds TVM model libraries from supported original checkpoints. Neither conversion nor inference requires Python.
Download the Prepare kit, extract it, and run Prepare.cmd. It downloads and verifies the SDK, the selected CPU model and its dependencies without a GitHub account. Wait for READY, then open the prepared .dproj in Delphi 13.2 or .lpi in Lazarus 4.8. The new SDK uses %LOCALAPPDATA%/CrossPascal/early-access-017-native by default. Cached model downloads can be reused.
The examples were built in Delphi and Lazarus on Windows x64. The native checks covered Gemma 3n text and images on CPU and CUDA, Gemma 2, Qwen2.5, Qwen2.5-VL and the five CPU vision profiles. Image prompts on CPU can take several minutes. This is a pre-release.
The complete Windows x64 SDK includes the desktop converter and native TVM compiler. Conversion needs the Windows x64 linker and SDK libraries, plus NVRTC for CUDA. The source archive lists the five source revisions it contains. The original tag identifies the initial EA017 snapshot.
Model and library terms
Original CrossPascal code uses MIT; it does not assign MIT to dependencies or models.
- Qwen2.5-VL 3B Instruct: Qwen Research License, for non-commercial research and evaluation. Commercial use requires a separate license from Alibaba Cloud. Built with Qwen. Dense Qwen checkpoints have their own licenses.
- Gemma 2 and Gemma 3n: Gemma Terms of Use and Prohibited Use Policy. Preserve the supplied terms, NOTICE and modification records, and carry the use restrictions into onward distribution agreements.
- YOLO11n detection/classification: AGPL-3.0; review Ultralytics licensing for proprietary deployments. SqueezeNet, ResNet50 and RT-DETR use Apache-2.0 as declared in their source packs.
- OpenCV/FFmpeg: retain the matching source package and notices. The supplied build statically links LGPL FFmpeg; its RELINKING.md describes the full-source rebuild procedure.
Read the complete license scope and preparation guide.
Retained dependencies and corresponding sources
Prepare uses SHA-256-pinned assets from this release, EA016, EA015 and CPU models EA015. These releases remain available.
The matching native and vision source packages are attached to EA015:
- crosspascal-opencv-native-sources-windows-x64-ea008.zip
- crosspascal-leptonica-native-sources-windows-x64-ea008.zip
- crosspascal-cpu-model-sources-ea008.zip
Their filenames identify the unchanged source packages, not a dependency on the old EA008 release page. EA008 is preserved as a draft because its superseded launcher contains a local build path. Its tag and assets have not been rewritten or deleted.
PUBLIC-RELEASE-CONTENTS.json records the exact retained historical assets and the EA017 package list. The historical packages retain their original behavior; use EA017 for current setup. The audit is a package/provenance and targeted content check, not a general security certification. Prepare uses anonymous GitHub downloads by default; an optional login can raise the request limit.
CrossPascal Early Access 016
Prepare and run all 13 supplied Pascal examples on Windows x64.
Download crosspascal-examples-prepare-ea016.zip for the complete set of preparation scripts, or choose the small Prepare-<Project>-ea016.zip for one example. Extract the ZIP to a writable folder and run Prepare.cmd. After READY, open the prepared .dproj in Delphi 13.2 or .lpi in Lazarus 4.8, select Windows 64-bit / Release, and Run.
Preparation downloads and verifies the SDK, portable preparation runtime, matching native libraries, CPU models and sample input. It sets the model, library and image paths automatically. You do not need to install Python, copy DLLs manually or convert a CPU model. Interrupted downloads resume; repeated preparation preserves editable source and existing settings. The complete guide is in crosspascal/docs/PREPARE-EXAMPLES.md in the SDK and in the source repository.
This release and its source repositories remain private. Use an account with access to pisarev/crosspascal. Preparation can use your GitHub CLI login or a fine-grained token with repository Contents: Read-only access. Token entry is hidden; saving it in Windows Credential Manager is optional. No credential is embedded in the scripts.
QwenChat and ImagePrompt use the accepted Qwen2.5-VL 3B CPU bundle. GemmaChat uses Gemma 3n E4B CPU with image input. The other five language examples use the experimental Gemma 2 2B CPU profile. Allow about 24 GiB, 32 GiB and 16 GiB of system RAM respectively, including Windows and application headroom. The corresponding model downloads are about 5.2 GiB, 11.4 GiB and 3.6 GiB; dependencies and extracted files need additional disk space. The Qwen-VL and Gemma 3n CPU bundles require AVX2 and FMA (Haswell-compatible or newer). CPU image inference can take minutes. Model bytes and their documented EA015 inference scopes are retained.
VisionModels prepares five CPU profiles: SqueezeNet 1.1, ResNet50, YOLO11n classification, YOLO11n detection and RT-DETR R18vd. MarkerLite opens the sample image. CrossCVHello and LeptonicaHello check their native libraries; LoadResizeSave writes a 640 × 480 PNG to the SDK results folder. The six language console projects run from their prepared settings without IDE arguments. Streaming examples retain automatic output and cooperative Stop.
The clean installation and project Run checks cover all 13 examples in Delphi 13.2 and Lazarus 4.8 / FPC 3.2.2. Distributed Pascal executables are built only with Lazarus. Native C/C++ dependencies include corresponding sources and notices. The five portable CPU vision bundles were exercised with both Pascal compilers. These checks establish the stated installation and example behavior, with the existing model-quality limitations retained.
Gemma remains subject to its supplied Terms of Use and Prohibited Use Policy. Qwen2.5-VL 3B uses its supplied Qwen Research License for non-commercial research and evaluation; commercial use requires a separate license from the licensor. Built with Qwen. Model weights do not inherit the CrossPascal code license. Keep the bundled terms and notices.
GPU conversion remains available through CrossPascalConvert: detect the GPU architecture or choose the destination architecture manually, then use a bundle built for that architecture. CPU preparation does not install a CUDA toolchain. Other platforms and untested model profiles are outside this release's verification matrix.
Documentation update - 9 November 2026
The accompanying README files, setup guides and preparation helper use the public-download workflow. SHA-256 inventories were refreshed for these revised packages. Model weights and inference binaries are unchanged. Existing Git tags retain the original code baseline; current setup guidance is maintained in the default branches.
Packaging maintenance, 10 November 2026
Source documentation and integrity inventories were refreshed. Runtime packaging changes affect documentation and integrity records. Model weights and the executable files in these historical packages are unchanged. The original Git tag and the scope of the model results are retained.
CrossPascal Early Access 015
CrossPascal Early Access 015 adds CPU text-and-image inference for compatible Qwen2.5-VL and Gemma 3n bundles, with a shared, resizable chat interface and small console examples.
- QwenChat and GemmaChat provide model load/unload, image preview/removal, streaming answers, Stop and sampling settings. Automatic output (
0) is the default; the model's real context capacity still applies. - Generation-oriented console examples accept an optional image. ImagePrompt streams a short description and supports Escape cancellation. Text-only bundles give an explicit explanation instead of ignoring a picture.
- The Showcase selects implementations from model architecture and configuration. Qwen2.5-VL-3B and Gemma 3n E4B have CPU image execution checks; a separate Qwen2.5-VL 7B configuration was validated without running 7B inference. This does not certify every checkpoint.
- Shared forms, VisionModels and MarkerLite have aligned controls and improved resizing. Own Pascal sources were checked with the canonical formatter.
- Sources were built on Windows x64 with Delphi 13.2 and Lazarus 4.8/FPC 3.2.2. All supplied CrossPascal executables come from Lazarus builds. Missing language-runtime files now fail promptly instead of hanging during cleanup.
Extract crosspascal-windows-x64-ea015.zip and crosspascal-language-runtime-windows-x64-ea015.zip into the same parent directory. Keep the resulting folder structure. Start with START-HERE.txt, then the QwenChat, GemmaChat or language-model console-example README.
Inference from a completed bundle uses the supplied TVM runtime and does not need PyTorch or the conversion toolchain. Conversion has separate prerequisites in crosspascal-convert/INSTALL.md. Original model downloads and converted model weights are separate from these SDK assets.
CPU vision is intended for occasional local tasks. FP32 bundles need substantial RAM and disk space, and first responses can take minutes on a desktop CPU. Dense Qwen2.5 and Gemma 2 remain text-only. Audio and video inputs are outside this release. See MODEL-MODALITIES.md and KNOWN-LIMITATIONS.md for exact profiles.
Model licenses remain separate from the CrossPascal source license. The tested Qwen2.5-VL-3B checkpoint uses the Qwen Research License; Gemma weights retain their original terms. The three unchanged EA008 companion source archives retain their existing component licenses and build/relinking instructions.
Documentation update - 9 November 2026
The accompanying README files, setup guides and preparation helper use the public-download workflow. SHA-256 inventories were refreshed for these revised packages. Model weights and inference binaries are unchanged. Existing Git tags retain the original code baseline; current setup guidance is maintained in the default branches.
Packaging maintenance, 10 November 2026
Source documentation and integrity inventories were refreshed. Runtime packaging changes affect documentation and integrity records. Model weights and the executable files in these historical packages are unchanged. The original Git tag and the scope of the model results are retained.
CrossPascal Early Access 014
This update speeds up model-file verification in Windows Delphi builds. Delphi and Lazarus now use the same Windows SHA-256 implementation and still verify every byte of the model files.
On the checked Qwen2.5 1.5B bundle, Delphi verification fell from about 46 seconds to 4 seconds. A short first answer fell from about 52 seconds to 10 seconds in the warm-file-cache comparison. A fresh installed Lazarus run after a host restart took about 18 seconds, including 12 seconds reading and verifying the weights. These measurements are not guarantees for other storage devices or models.
Delphi 13.2 and Lazarus 4.8 builds passed. The supplied executable files are built with Lazarus only. The model converter, weights, compiled TVM graphs, native runtime, and supported feature scope are unchanged from Early Access 013.
For a matched 32-token FP32 test, Delphi, Lazarus, and Python + TVM took about 6-7 seconds per answer. PyTorch took about 1.8 seconds for its first answer and 1 second for the second. All output token IDs matched. Keep a model loaded to avoid repeating file verification and GPU upload.
Extract crosspascal-windows-x64-ea014.zip and the unchanged crosspascal-gemma-runtime-windows-x64-ea013.zip into the same parent folder. The EA008 OpenCV, Leptonica, and CPU-model source archives are unchanged. Model weights are not included.
This is a Early Access release. Existing experimental model and image-profile restrictions continue to apply.
Documentation update - 9 November 2026
The accompanying README files, setup guides and preparation helper use the public-download workflow. SHA-256 inventories were refreshed for these revised packages. Model weights and inference binaries are unchanged. Existing Git tags retain the original code baseline; current setup guidance is maintained in the default branches.
Packaging maintenance, 10 November 2026
Source documentation and integrity inventories were refreshed. Runtime packaging changes affect documentation and integrity records. Model weights and the executable files in these historical packages are unchanged. The original Git tag and the scope of the model results are retained.
CPU model bundles for Early Access 015
Ready-to-run CPU model bundles for CrossPascal Early Access 015.
These packages contain the converted TVM libraries, weights, tokenizers and model manifests. Download the matching EA015 SDK and language runtime once. You do not need to install conversion tools or own an NVIDIA GPU.
| Model | Inputs | Archive parts | Download size | Suggested system RAM |
|---|---|---|---|---|
| Gemma 2 2B Instruct | Experimental text completion | 2 | 3.63 GiB | 16 GiB |
| Gemma 3n E4B | Text and single-image questions | 7 | 11.38 GiB | 32 GiB |
| Qwen2.5-VL 3B Instruct | Text and single-image questions | 3 | 5.22 GiB | 24 GiB |
How to start: download every numbered part for your chosen model into one folder. In 7-Zip, open .7z.001 and extract it once. Extract the EA015 SDK and language runtime ZIPs into the same parent folder. Run the supplied GemmaChat or QwenChat, select the extracted model folder containing model.json, and click Load model. Type a message, optionally attach an image for a compatible model, then click Generate. The downloadable README for each model gives the full mouse-only instructions.
Gemma 3n's combined package supports both text and images, so there is no second copy of its text weights to download. Gemma 3n and Qwen2.5-VL CPU libraries require an AVX2/FMA-capable, Haswell-compatible or newer x64 CPU. Windows x64 is the tested platform. CPU image processing can take minutes; the models are large, and available RAM and storage speed matter.
Accepted scope: Gemma 3n E4B and Qwen2.5-VL 3B use the image/text paths checked on the EA015 clean installation in Delphi 13.2 and Lazarus 4.8. The supplied application binaries are built only with Lazarus. Gemma 2 2B is an experimental short raw-completion profile, with the earlier attention approximation retained; it is not a full or long-context Gemma 2 equivalence claim. Each package contains its precise acceptance scope and checksums. Model inference bytes match their accepted source bundles. Archive extraction and complete file hashes were checked separately.
Model terms: Gemma packages include the Gemma Terms of Use and Prohibited Use Policy. Qwen2.5-VL 3B is provided under its Qwen Research License, for non-commercial research and evaluation; commercial use requires a separate license from the licensor. Built with Qwen. Model weights do not acquire CrossPascal's code license.
Gemma 3n E4B comes from the pinned Ollama Q4_K_M GGUF, expanded to FP32 for this TVM route. Qwen2.5-VL uses the pinned original 3B checkpoint. The 224-pixel Qwen profile is intended for simple visual questions, not high-resolution OCR. Audio/video inputs and other untested checkpoint sizes are not claimed. Dense Qwen2.5 and Coder CUDA bundles are outside this CPU-only release.
Documentation update - 9 November 2026
The accompanying README files, setup guides and preparation helper use the public-download workflow. SHA-256 inventories were refreshed for these revised packages. Model weights and inference binaries are unchanged. Existing Git tags retain the original code baseline; current setup guidance is maintained in the default branches.
CrossPascal Early Access 013
CrossPascal Early Access 013 adds small language-model examples and a shared chat interface for Delphi 13.2 and Lazarus 4.8 on Windows x64.
What is new
- Six console examples: inspect/load/unload, complete text answers, generation settings, streaming and Stop, repeated requests, and image prompts.
- QwenChat and GemmaChat expose the same model lifecycle and generation settings. Both include an image selector, thumbnail and removal button. Text-only bundles explain the limitation and reject image inference before loading.
- Compatible Gemma 3n CUDA text bundles can receive a separately converted
gemma3nvvision projector through the local converter. The new independent bundle supports real text-plus-image inference through TVM. - Automatic generation remains the default (
0). Stop, manual limits, sampling, temperature, Top P, Top K, repetition penalty, seed, answer budget, instructions and plain completion are available. Automatic output is still bounded by the model's actual context. - Qwen CUDA uses non-pooled temporary VM storage to avoid the observed long prefill-to-decode stalls; model weights still remain loaded for repeated requests.
- Console output preserves UTF-8 in Delphi and Lazarus, including redirected output.
Start here
- Download and extract crosspascal-windows-x64-ea013.zip.
- Extract crosspascal-gemma-runtime-windows-x64-ea013.zip into the same parent folder. It adds the Qwen native DLLs and the portable Gemma/Pillow runtime to the SDK.
- Open
crosspascal/examples/qwen-chat/README.md,crosspascal/examples/gemma-chat/README.md, orcrosspascal/examples/language-models/README.mdinside the SDK. - Select a completed model bundle containing
model.json, then the installed SDK root. Original weights are inputs to the converter, not inputs to these demos.
Our distributed executables are built with Lazarus 4.8. Sources were also built and exercised with Delphi 13.2. Upstream native/Python dependencies retain their own provenance and licenses. Completed-bundle inference does not need the conversion toolchain. Conversion requires the separately documented TVM/exporter/compiler dependencies.
Scope and limits
Dense Qwen2/Qwen2.5 is a text route. Qwen2.5-VL is not implemented by that adapter. Gemma 2 CPU retains its experimental numerical restrictions. Gemma 3n CPU/CUDA text profiles remain available; images currently require the compatible CUDA vision profile. Dispatch uses architecture metadata rather than a list of model or graphics-card names.
The checked vision profile resizes to 768 pixels and contributes 256 image tokens. Its embeddings were compared with PyTorch on the same weights, and changing the image changed the colour answer correctly. This bounded acceptance is not a claim of general image-understanding accuracy. Image tokens are read sequentially by the text decoder, so image questions take longer to start answering than short text questions. Audio and video are not implemented.
Initial Qwen startup is still more variable than a request using resident weights. In the final fresh-archive check, the 1.5B hello run took about 68 seconds overall; retained-session short replies in the scoped allocator test took about 2 seconds. These are measurements on the checked system, not a latency guarantee. Loading and generation status remain visible.
Qwen and Gemma weights are not included. Obtain them under their original access and license conditions. Input images remain local. The unchanged OpenCV, Leptonica and CPU-model source assets retain their existing installation instructions and licenses.
All 81 owned Pascal source files passed the current canonical formatter check. Generated and third-party source was preserved. Existing releases remain available. This is a private prerelease.
Documentation update - 9 November 2026
The accompanying README files, setup guides and preparation helper use the public-download workflow. SHA-256 inventories were refreshed for these revised packages. Model weights and inference binaries are unchanged. Existing Git tags retain the original code baseline; current setup guidance is maintained in the default branches.
Packaging maintenance, 10 November 2026
Source documentation and integrity inventories were refreshed. Runtime packaging changes affect documentation and integrity records. Model weights and the executable files in these historical packages are unchanged. The original Git tag and the scope of the model results are retained.
CrossPascal Early Access 012
CrossPascal Early Access 012
GemmaChat adds a Windows Pascal application for experimental Gemma 3n CUDA text bundles. The response streams while it is generated, model weights stay loaded for repeated requests, and Stop preserves partial output. Generation defaults to 0 (automatic until EOS, Stop or the bundle's real context capacity); positive manual limits have no artificial 16-token ceiling.
QwenChat now includes the previously verified persistent GPU session and incremental text output. Its sampling controls remain available. Each request in both examples starts a fresh conversation; model reuse does not imply chat-history retention.
The Gemma converter reads architecture metadata and tensor shapes instead of maintaining a model-name list. It supports automatic CUDA-device detection and manual destination architecture selection. The CUDA text profile uses int8 projection weights and FP32 arithmetic (W8A32), with input embeddings in host memory. It remains an experimental numerical profile, distinct from CPU FP32.
Download and run
crosspascal-windows-x64-ea012.zip: coordinated source SDK and Lazarus-built example executables.crosspascal-gemma-runtime-windows-x64-ea012.zip: extract beside the SDK for GemmaChat. It contains the portable Python/TVM runtime and upstream licenses. Running an already converted Gemma bundle needs no Python installation or conversion toolchain.- The three EA008 source companion archives are unchanged and retained for the existing native dependencies and CPU conversion routes.
Start with crosspascal/examples/gemma-chat/README.md or crosspascal/examples/qwen-chat/README.md. GemmaChat's first field selects the converted bundle folder containing model.json; its second field selects the SDK root. Original model weights are not included. Original model access and license conditions still apply.
GemmaChat uses a Pascal GUI and local private pipes to a bundled persistent Python TVM worker. Numerical inference runs through native TVM CUDA, not PyTorch or Ollama. QwenChat uses the native Pascal TVM consumer. Their bundle formats are different. Conversion still requires the documented development dependencies; the new runtime asset is for inference.
Verification and limits
Both examples were built and exercised from the cleaned release sources in Delphi 13.2 and Lazarus 4.8 / FPC 3.2.2 on Windows x64 with an RTX 4060 Ti. Tests cover English and Russian text, repeated requests, incremental output, manual limits, Stop, normal process shutdown and execution from the extracted release with the pinned runtime. Distributed project EXEs are built only with Lazarus; Delphi EXEs are used only for compatibility testing. Third-party native runtimes retain their upstream build provenance.
The Gemma test uses an E4B text GGUF converted to the W8A32 profile; the Qwen warm-session test uses Qwen2.5-1.5B. These are specific evidence points, not a guarantee that every checkpoint or video card has passed testing. Targets remain architecture-driven, with no card-name whitelist.
This release accepts text only. Dense Qwen2.5 and Qwen2.5-VL are different architectures. The original Gemma 3n family supports multimodal input, but this GGUF text route does not include a vision or audio encoder. See crosspascal/docs/MODEL-MODALITIES.md for the required text-plus-image work. GemmaChat currently uses greedy decoding and does not expose unsupported sampling controls.
Private prerelease only. Existing releases and model evidence are preserved.
Documentation update - 9 November 2026
The accompanying README files, setup guides and preparation helper use the public-download workflow. SHA-256 inventories were refreshed for these revised packages. Model weights and inference binaries are unchanged. Existing Git tags retain the original code baseline; current setup guidance is maintained in the default branches.
Packaging maintenance, 10 November 2026
Source documentation and integrity inventories were refreshed. Runtime packaging changes affect documentation and integrity records. Model weights and the executable files in these historical packages are unchanged. The original Git tag and the scope of the model results are retained.