▲ 28 r/pascal+2 crossposts

Raster Master v7.0 - Sprite, Map, Animator for your Retro game development

Huge release! Raster Master 7, we move up to a major version number

  1. Brush stamp mode and brush effects dialog (scaling, rotating, shearing, flip, gradient, color operations) These features can be accessed from Brush menu and new "B" and "Bfx" buttons

  2. Many of the draw tools now have gradient and dithering support under Tools menu

  3. When using Text Tool you can now copy the preview text bitmap to clipboard. Just use copy from edit menu while using Text tool.

Please star this application to help promote it. If you use this app to create a game or pixel art assets

please send me a link or an email (nickshardware2020@gmail.com), always interested to see what everyone is creating.

Many of these features were first implemented in RetroDP (my Deluxe Paint inspired paint program)

RetroDP, VecDraw and RetroConvert are available on my itch.io, these apps are not open source but

completely FREE. Additional bonus apps if you make a small donation.

https://retronick2020.itch.io

reddit.com
u/nickshardware — 12 days ago

Raster Master v6.1 R128 - Raster Master Sprite/Map Editor for Windows 7/8/10/11 by RetroNick2020

🎨 RASTER MASTER — Sprite / Icon / Map / Animation / Sound Editor

The all-in-one graphics workstation for retro and modern game developers.

CREATE LIKE IT'S 1993 — SHIP LIKE IT'S 2026

Remember when making games meant crafting every pixel by hand? Raster Master brings that magic back — with a modern editor that speaks the language of every compiler you've ever loved.

Draw sprites. Build tile maps. Animate characters. Generate sound effects. Then export ready-to-compile source code for 20+ languages and compilers — no middleware, no dependencies, no hassle.

✨ WHAT MAKES RASTER MASTER DIFFERENT?

Most sprite editors give you a PNG and wish you luck. Raster Master gives you embedded source code arrays that drop straight into your project. Hit export, paste into your code, compile, run. That's it.

Whether you're building a QuickBASIC adventure, a Turbo Pascal platformer, a raylib arcade game for the web, or an AmigaBASIC demo — Raster Master has you covered with native export for each target.

🛠️ FEATURES

Sprite & Icon Editor — Full pixel editor with support for 2, 4 (CGA), 16 (EGA), and 256 color palettes. Multiple image management with filmstrip thumbnail view. Import from PNG, BMP, JPG, GIF, PCX, IFF/ILBM, sprite sheets, or paste directly from your clipboard.

Tile Map Editor — Design 2D game worlds using your sprites as tiles. Export complete map data alongside your graphics. Perfect for RPGs, platformers, puzzle games, and top-down adventures.

Sprite Animation — Sequence your sprites into frame-by-frame animations with playback controls and FPS gauge. Export animation data ready for your game loop.

Sound Effects Generator — Built-in sfxr-style synthesizer for creating retro bleeps, explosions, power-ups, and laser sounds without leaving the editor.

Project Files — Save everything into a single portable project file. Move it between machines, share it with collaborators, back it up — all your assets travel together.

Sprite Sheet Export — Generate sprite sheets compatible with raylib, SDL, and other popular game libraries.

🎯 SUPPORTED EXPORT TARGETS

Modern: raylib · Emscripten (web browser games!) · JavaScript putImageData · FreeBASIC · QB64

Classic PC: QuickBASIC · GW-BASIC · BASICA · PC-BASIC · Turbo Pascal · Turbo C · Turbo Basic · Quick C · Power Basic · Open Watcom · GCC

Amiga: AmigaBASIC (Bobs, VSprites, PUT) · Amiga C (vbcc) · Amiga Pascal (HiSoft, FreePascal 68k)

Export Formats: Source code arrays · RES text bundles · RES binary bundles · PNG · BMP · RAW · XGF · VGA Mode X (XLIB LBM/PBM)

🌐 PUBLISH BROWSER GAMES

Pair Raster Master with raylib and emscripten to create fully playable web browser games you can upload right here on itch.io. Design your graphics, export your code, compile, and publish — the complete pipeline from pixel to player.

💡 WHO IS THIS FOR?

→ Retro enthusiasts recreating the DOS and Amiga era → Game jam participants who need fast pixel-to-code workflows → Hobbyist developers working in BASIC, Pascal, or C → Educators teaching classic game programming → raylib developers who want a dedicated sprite and map workflow → Anyone tired of converting PNGs into DATA statements by hand

📋 SYSTEM REQUIREMENTS

Windows 7 / 8 / 10 / 11 64-bit and 32-bit builds included

🚀 127 RELEASES AND COUNTING

Raster Master is actively developed with frequent updates, new export targets, and feature additions. What started as a DOS utility 30 years ago has evolved into a full-featured graphics workstation — and it's still growing.

Download it. Draw something. Ship a game.

retronick2020.itch.io
u/nickshardware — 1 month ago

RetroDP v1.0 Pixel Art Editor

🎨 RetroDP 1.0 — The Ultimate Retro Pixel Art Studio

Paint like it's 1987. Publish like it's today.

RetroDP is a full-featured pixel art editor built from the ground up for artists, demosceners, and retro computing enthusiasts who demand authentic creative tools. Whether you're crafting CGA masterpieces, VGA splash screens, or pixel-perfect sprites destined for a real QBasic or GW-BASIC program, RetroDP has you covered with a toolkit so powerful it would make Deluxe Paint blush.

🖥️ AUTHENTIC RETRO SCREEN MODES

RetroDP isn't pretending. Every classic PC screen mode is faithfully reproduced with accurate color counts and palette behavior:

  • CGA — SCREEN 1 (320×200×4) and SCREEN 2 (640×200×2) with fixed CGA palettes
  • EGA — SCREEN 7, 8, 9, and 12 with full 4-bit per-channel palette editing
  • VGA — SCREEN 13 (320×200×256) with the full DAC (0–63 per channel)
  • Custom Screens — Roll your own at any resolution up to 1920×1080 with 2, 4, 16, or 256 colors

🖌️ A FULL ARSENAL OF DRAWING TOOLS

Every classic tool you remember, refined to perfection:

  • Freehand & Dotted Freehand — smooth or skip-frame pixel trails
  • Line, Rectangle, Filled Rectangle — crisp vector-style outlines and fills
  • Circle, Filled Circle — perfect Bresenham circles every time
  • Ellipse, Filled Ellipse — squeeze those circles into eggs
  • Flood Fill — point and watch the color cascade
  • Airbrush — soft scatter painting for that analog feel
  • Text Tool — stamp your favorite system font right onto the canvas
  • Clip Tool — define a region, copy it, move it, paste it exactly where you want

🪄 CUSTOM BRUSH SYSTEM — YOUR BRUSH, YOUR RULES

Load any image as a custom brush and paint with it across your entire canvas. The brush system supports:

  • Open brushes from BMP, PNG, GIF, PCX, and IFF/ILBM files
  • Load from clipboard or copy to clipboard instantly
  • Flip Horizontal / Flip Vertical — mirror your brush in a click
  • Rotate 90° — spin it around
  • Paint Mode — color 0 is transparent, preserving the background beneath every stroke
  • Replace Mode — stamp every pixel including color 0 for solid coverage
  • Stored in memory — your custom brush persists even when you switch to a default brush, ready to restore at any time

🔢 SYMMETRY ENGINE — PAINT SMARTER

Work with radial and reflective symmetry to build complex patterns in half the time:

  • Rotational symmetry up to 8-fold — paint once, stamp everywhere
  • Mirror mode — reflect every stroke across the center axis
  • Adjustable order — dial in the exact symmetry you need
  • Visual toggle — Sym On / Sym Off with instant feedback

🔍 ZOOM / MAGNIFICATION MODE

Get pixel-perfect precision with the dual-pane editing workflow:

  • Toggle the magnified zoom pane independently from the main canvas
  • Pixel grid overlay appears automatically at high zoom levels
  • Zoom source rect displayed directly on the main canvas — always know what you're editing
  • Drag the zoom rect to reposition your view without losing context
  • Full brush cursor preview in the zoom pane — see your brush shape before you paint
  • Out-of-bounds areas display in neutral gray to keep your focus on the canvas

📋 CLIPBOARD INTEGRATION

RetroDP talks to the rest of your tools:

  • Copy the entire canvas or a selected region to the system clipboard
  • Cut any selected region directly to clipboard
  • Paste from the clipboard with intelligent palette quantization
  • Load brushes from clipboard for instant brush creation from any image source

🗂️ OPEN AND SAVE IN EVERY FORMAT YOU NEED

RetroDP reads and writes the file formats that matter:

Open
PNG (Indexed)
PNG (32-bit)
BMP
GIF
PCX
IFF / ILBM

Opening any image auto-detects whether it matches a known retro screen mode and offers to switch — or creates a custom canvas sized exactly to the image with optimal color depth. True-color photos get automatically quantized to your palette using histogram-based color reduction for best results.

💾 EXPORT TO ACTUAL RETRO HARDWARE CODE

This is where RetroDP gets serious. Export your artwork directly as runnable GW-BASIC or QBASIC programs complete with BSAVE data:

  • GW-BASIC → BSAVE — raw binary screen data for direct BLOAD
  • GW-BASIC → Basic Loader + BSAVE — a complete .BAS program that loads and displays your image with palette setup
  • QBASIC → BSAVE — same raw data for QB environments
  • QBASIC → Basic Loader + BSAVE — drop-in QB program ready to run

Supports all PC screen modes including CGA interleaved planes, EGA 4-plane writes with Map Mask switching, and VGA linear mode 13h — byte-accurate for real hardware and emulators alike.

🎨 PALETTE EDITOR

A full-featured color editor built for retro accuracy:

  • VGA DAC — edit in the authentic 0–63 range per channel with OUT command export
  • EGA — correct 0–3 per-channel range for PALETTE statement modes
  • Custom screens — full 0–255 RGB editing with large color swatches
  • Large 256-color swatch grid for quick color navigation
  • Per-mode label so you always know what hardware range you're working in

🛠️ DESIGNED FOR THE RETRO ARTIST

  • Dither patterns — 7 classic ordered dither patterns plus solid
  • Gradient fills — horizontal and vertical
  • Undo / Redo — never lose a stroke
  • Checkermark in the Tools menu — always know which tool is active
  • Visual toggle states on every toolbar button — Sym On/Off, Mirror On/Off, Grid On/Off, Mag On/Off
  • File → New resets the entire workspace cleanly back to defaults
  • Save prompt before New or Clear so you never lose work accidentally

RetroDP 1.0 — Built for the pixels that started it all.

retronick2020.itch.io
u/nickshardware — 2 months ago

RetroConvert v1.3 — The Ultimate Retro Image Converter for Retro Programmers by RetroNick2020

RetroConvert v1.3 — The Ultimate Retro Image Converter

Convert any modern image into pixel-perfect retro graphics for PC, Amiga OCS, Commodore 64, and MSX.

RetroConvert is free and always will be. No ads, no subscriptions, no feature gates. Every algorithm, every export format, every target platform — completely free, forever.

RetroConvert is a desktop tool built for retro computing enthusiasts, hobbyist game developers, demoscene programmers, and pixel artists who need to get real images into real retro hardware and emulators. Load a PNG, JPEG, BMP, GIF, PCX, IFF, or Koala image, pick your target machine and screen mode, choose your color reduction and dithering algorithms, and export a ready-to-use file. For PC modes you get BSAVE files with auto-generated BASIC loader code. For Amiga you get proper IFF/ILBM files. For C64 you get Koala Paint files or self-viewing PRG executables. For MSX you get BSAVE VRAM dumps with MSX BASIC loaders.

Runs natively on Windows with zero dependencies — single executable, no runtime, no installer.

NEW IN v1.3 — Commodore 64 & MSX Support

Commodore 64 — Multicolor Bitmap Mode

RetroConvert now converts images to the C64's multicolor bitmap format (160×200, 4 colors per 4×8 character cell from a fixed 16-color palette). Uses the Colodore palette — the same palette VICE uses by default, so exported images display with correct colors in the emulator.

Export formats:

  • Koala Paint (.koa) — Standard 10003-byte format compatible with Koala Paint, VICE, and other C64 tools
  • Koala PRG (.prg) — Self-viewing C64 executable: load and run directly in VICE or on real hardware

Hardware-constrained preview: The conversion preview shows the actual result after per-cell 4-color quantization. What you see in RetroConvert is exactly what you get on the C64 — no surprises when loading in VICE.

MSX1 — SCREEN 2 (Graphic 2)

MSX1 SCREEN 2 mode: 256×192 pixels with 2 colors per 8×1 pixel row from the fixed 16-color TMS9918A palette.

Export format:

  • MSX BSAVE (.sc2) — Standard MSX BSAVE VRAM dump with 7-byte header, compatible with MSX BASIC's BLOAD "file.sc2",S command

Auto-generated MSX BASIC loader:

10 SCREEN 2 
20 BLOAD "IMAGE.SC2",S 
30 A$=INPUT$(1)

Hardware-constrained preview: Shows the actual 2-color-per-row constraint applied to each 8-pixel row, matching the exported file exactly.

v1.2 Features (Amiga OCS)

Full Amiga OCS chipset support (A1000, A500, A2000) with 44 target modes:

  • Lo-Res (320 wide): 2, 4, 8, 16, and 32 colors — NTSC and PAL
  • Hi-Res (640 wide): 2, 4, 8, and 16 colors — NTSC and PAL
  • Interlaced: All modes doubled vertically (320×400/512, 640×400/512)
  • HAM6 (Hold-And-Modify): Near-photographic color from 16 base colors
  • EHB (Extra Half-Brite): 64 on-screen colors from 32 base + 32 half-brightness

All with correct CAMG viewport mode bits, 4-bit OCS palette precision (4096 total colors), and IFF/ILBM export with ByteRun1 compression.

Machine Dropdown

A Machine dropdown filters the target list by platform: PC, Amiga, C64, MSX, or All. Select your target machine first, then pick the specific screen mode. Keeps the interface clean as more platforms are added.

All Supported Targets

PC (7 targets): CGA SCREEN 1/2, EGA SCREEN 7/8/9, VGA SCREEN 12/13 — with correct memory layouts, palette programming, and BASIC loaders for QBasic and GW-BASIC

Amiga OCS (44 targets): Lo-Res/Hi-Res × NTSC/PAL × all color depths + Interlace + HAM6 + EHB

Commodore 64 (1 target): Multicolor 160×200 with Colodore palette

MSX1 (1 target): SCREEN 2 256×192 with TMS9918A palette

6 Color Quantization Algorithms

Median Cut — Classic RGB cube splitter. Fast, decent results.

Octree — Tree-based reduction. Preserves distinct color clusters.

Wu's Variance Minimization — Gold standard from Graphics Gems II. 33×33×33 3D histogram with cumulative moments.

Wu + K-Means — Wu followed by 8 iterations of k-means in Oklab space. Best general-purpose quantizer.

Popularity — Keeps the N most frequent colors. Right choice for pixel art sources.

Minimum Distance Merge — Starts with every unique color, merges closest pairs. Preserves the artist's original choices.

13 Dithering Algorithms

Error Diffusion (serpentine, Oklab): Floyd-Steinberg, Atkinson, Stucki, Burkes, Sierra, Sierra Two-Row, Sierra Lite

Ordered: Bayer 8×8, Blue Noise 16×16

Pixel Art: Threshold, Edge-Aware, Riemersma (Hilbert Curve)

Export Formats

  • BSAVE — PC QBasic/GW-BASIC binary with correct headers. EGA writes 4 plane files with auto-generated loader.
  • IFF/ILBM — Amiga standard with BMHD, CMAP, CAMG, BODY. Also works for PC via DPaint IIe (6-bit VGA palette).
  • C64 Koala (.koa) — Standard Koala Paint format with per-cell color quantization.
  • C64 Koala PRG (.prg) — Self-viewing C64 executable.
  • MSX BSAVE (.sc2) — MSX1 VRAM dump with BSAVE header.
  • GIF — GIF89a with LZW compression.
  • PCX — ZSoft PCX with RLE.
  • PNG (Indexed) — Paletted PNG with correct bit depth (1/2/4/8-bit).
  • BASIC Loader — Auto-generated .BAS for QBasic, GW-BASIC, and MSX BASIC.

Input Formats

Load images from: PNG, JPEG, BMP, GIF, PCX, IFF/ILBM (including HAM6/HAM8/EHB), C64 Koala (.koa), and MSX BSAVE (.sc2). RetroConvert can read back everything it produces.

Hardware-Constrained Preview

For cell-based formats (C64 and MSX), the preview panel shows what the image actually looks like after hardware color constraints are applied. The pipeline does a full encode→decode roundtrip through the format encoder, so the preview matches the exported file exactly. No more guessing — what you see is what you get on the target hardware.

QBasic Scripting Engine

Built-in QBasic interpreter with 30+ API functions for automating conversion. Press F9 for the Script Manager with syntax-highlighted editor and output console.

API covers: source/converted pixel access, palette read/write, pipeline control (set target/quantizer/ditherer/exporter by name), image loading, clipboard operations, and UI dialogs.

Additional Features

  • Preserve Size Mode — Convert at native resolution with retro palettes
  • Clipboard Support — Paste images (Ctrl+V), copy previews (Ctrl+C), paste/copy palettes in hex/CSV/GIMP/JASC formats
  • Perceptual Color Processing — Oklab color space for all matching and dithering
  • Real-Time Progress — Status bar shows stage, percentage, and detail
  • Built-In Test Patterns — Color bars, gradients, HSV sweep, checkerboard

Technical Details

  • Version: 1.3
  • Platform: Windows (native Win 32/64 executable)
  • Price: Free — always has been, always will be
  • Dependencies: None — single executable, no runtime required
  • Developer: RetroNick

RetroConvert was built by a retro computing enthusiast who got tired of manually converting images pixel by pixel. Every algorithm was chosen because it solves a real problem that comes up when targeting real retro hardware.

RetroConvert Plus — $9.99 Donation

Thank you for supporting retro computing tools! Anyone who donates $9.99 or more through itch.io receives RetroConvert Plus, which includes the bonus program:

RetroView v1.1 — Retro Graphics File Viewer

A dedicated image viewer built for retro file formats:

  • Multi-format support: BMP, PNG, JPEG, GIF, IFF/ILBM (including HAM6, HAM8, and Extra Half-Brite), Borland CHR vector fonts, VecDraw .vec files, RIPscrip graphics, and SVG
  • File browser panel with directory navigation
  • Zoom controls — zoom in/out, fit to window, 1:1 pixel view
  • Detailed format info in status bar — resolution, bit depth, Amiga display mode
  • Clipboard copy, drag and drop, keyboard navigation

RetroView is the perfect companion to RetroConvert — preview exported retro files in their native format without needing an emulator.

RetroConvert itself remains completely free. The donation tier is a thank-you bonus, not a paywall.

reddit.com
u/nickshardware — 3 months ago

RetroConvert v1.2 — The Ultimate Retro Image Converter for Retro Programmers by RetroNick2020

RetroConvert v1.2 — The Ultimate Retro Image Converter

Convert any modern image into pixel-perfect retro graphics for QBasic, GW-BASIC, Amiga OCS, and classic PC screen modes.

RetroConvert is free and always will be. No ads, no subscriptions, no feature gates. Every algorithm, every export format, every target platform — completely free, forever.

RetroConvert is a desktop tool built for retro computing enthusiasts, hobbyist game developers, demoscene programmers, and pixel artists who need to get real images into real retro hardware and emulators. Load a PNG, JPEG, BMP, GIF, PCX, or IFF image, pick your target machine and screen mode, choose your color reduction and dithering algorithms, and export a ready-to-use file. For PC modes you get BSAVE files with auto-generated BASIC loader code. For Amiga you get proper IFF/ILBM files with correct CAMG viewport modes, OCS palette precision, and ByteRun1 compression.

Runs natively on Windows with zero dependencies — single executable, no runtime, no installer.

NEW IN v1.2 — Amiga OCS Support

RetroConvert now targets the Amiga OCS chipset (A1000, A500, A2000) with full coverage of every standard display mode:

Lo-Res (320 wide): 2, 4, 8, 16, and 32 colors in both NTSC (200 lines) and PAL (256 lines)

Hi-Res (640 wide): 2, 4, 8, and 16 colors in both NTSC and PAL

Interlaced: All Lo-Res and Hi-Res modes doubled vertically — 320x400, 320x512, 640x400, 640x512

HAM6 (Hold-And-Modify): 6 bitplanes with 16 base palette colors plus per-pixel channel modification, enabling near-photographic color on OCS hardware. Available in all four resolution/TV-standard combinations.

EHB (Extra Half-Brite): 6 bitplanes with 32 base colors plus 32 automatic half-brightness variants (64 total on-screen colors). Available in all four combinations.

44 Amiga targets in total, all with correct CAMG viewport mode bits, 4-bit OCS palette precision (12-bit color, 4096 total), and proper IFF/ILBM export with ByteRun1 compression. Files are compatible with Deluxe Paint, Personal Paint, and any Amiga IFF viewer.

A new Machine dropdown lets you filter the target list by platform — select "Amiga" to see only Amiga modes, "PC" for PC modes, or "All" to see everything.

Multi-Platform Architecture

RetroConvert v1.2 introduces a platform-aware target system designed for expansion. The architecture now supports adding new retro computers and consoles with machine-specific display constraints, palette hardware, and export formats. Currently supported:

PC (IBM Compatible): CGA, EGA, and VGA screen modes with BSAVE, GIF, PCX, PNG, and IFF/ILBM export

Amiga OCS: Full chipset coverage with IFF/ILBM export

Future platforms under consideration include Commodore 64, ZX Spectrum, Atari ST, Atari 8-bit, MSX, and NES — each with their unique color constraints, cell-based attribute systems, and native file formats.

Supported Screen Modes — PC

  • SCREEN 1 — CGA 320x200, 4 colors (2bpp interleaved)
  • SCREEN 2 — CGA 640x200, 2 colors (1bpp interleaved)
  • SCREEN 7 — EGA 320x200, 16 colors (fixed EGA palette)
  • SCREEN 8 — EGA 640x200, 16 colors (fixed EGA palette)
  • SCREEN 9 — EGA 640x350, 16-from-64 selectable palette
  • SCREEN 12 — VGA 640x480, 16-from-262144 selectable palette
  • SCREEN 13 — VGA 320x200, 256 colors with full RGB palette

Every PC mode exports with the correct memory layout: CGA interleaved banks, EGA 4-plane bitplane files (one BSAVE per plane with write-plane-switching loader), VGA linear framebuffer, and VGA DAC palette programming.

6 Color Quantization Algorithms

Median Cut — The classic RGB color cube splitter. Fast, decent results.

Octree — Tree-based reduction. Good at preserving distinct color clusters.

Wu's Variance Minimization — The gold standard from Graphics Gems II. Uses a 33x33x33 3D histogram with cumulative moments for mathematically optimal box splitting. Produces measurably better palettes than median cut, especially at low color counts where every palette slot matters.

Wu + K-Means — Wu's algorithm followed by 8 iterations of k-means clustering in Oklab perceptual color space. The same two-stage approach used by Google's Material Color library. The best general-purpose quantizer.

Popularity — Keeps the N most frequently used colors. The right choice when the source is already pixel art with a clean palette.

Minimum Distance Merge — Starts with every unique color, iteratively merges the two perceptually closest colors until the target count is reached. Preserves the artist's original color choices. Automatically pre-reduces via Wu when the image has more than 512 unique colors.

13 Dithering Algorithms

Error Diffusion (serpentine scanning in Oklab perceptual space)

  • Floyd-Steinberg — The industry standard
  • Atkinson — The Macintosh look, preserves flat areas
  • Stucki — Large kernel, smoothest gradients
  • Burkes — Good balance of speed and quality
  • Sierra — 3-row kernel, high quality
  • Sierra Two-Row — Faster Sierra variant
  • Sierra Lite — Minimal kernel, fast

Ordered Dithering

  • Bayer 8x8 — Classic crosshatch pattern
  • Blue Noise 16x16 — Void-and-cluster matrix, natural-looking without grid artifacts

Pixel Art Specific

  • Threshold — Only dithers where quantization error exceeds a perceptual threshold. Flat areas stay perfectly flat.
  • Edge-Aware — Detects edges and suppresses dithering near them. One-pixel outlines stay crisp.
  • Riemersma (Hilbert Curve) — Error diffusion along a space-filling curve. No directional bias.

Export Formats

  • BSAVE — Native QBasic/GW-BASIC binary with correct headers and memory layouts. EGA planar modes write 4 separate bitplane files with auto-generated plane-switching loader code.
  • IFF/ILBM — Amiga standard format with BMHD, CMAP, CAMG, and BODY chunks. ByteRun1 compression. Also works for PC via Deluxe Paint IIe compatibility (6-bit VGA palette mode).
  • GIF — GIF89a with LZW compression at any image size.
  • PCX — ZSoft PCX with RLE. 1-bit, 4-bit planar, 8-bit, and 24-bit modes.
  • PNG (Indexed) — Paletted PNG with correct bit depth: 1-bit for 2 colors, 2-bit for 4, 4-bit for 16, 8-bit for 256.
  • BASIC Loader — Auto-generated .BAS source that sets SCREEN mode, programs palette (PALETTE for EGA, OUT for VGA DAC), and BLOADs image data. Works in QBasic and GW-BASIC.

Input Formats

Load images from: PNG, JPEG, BMP, GIF, PCX, and IFF/ILBM. RetroConvert can read back everything it produces.

QBasic Scripting Engine

RetroConvert includes a built-in QBasic interpreter with a full scripting API for automating conversion workflows. Press F9 to open the Script Manager with syntax-highlighted editor, script file management, and output console.

30+ API functions covering source image pixel access, converted image inspection, palette read/write, pipeline control (set target/quantizer/ditherer/exporter by name), batch conversion, image loading, clipboard operations, and UI dialogs.

Additional Features

Preserve Size Mode — Convert at the source image's native resolution while applying retro palettes and dithering. Status bar shows BSAVE compatibility.

Clipboard Support — Paste images directly (Ctrl+V), copy converted previews (Ctrl+C), copy/paste palettes in hex, CSV, GIMP .gpl, and JASC-PAL formats.

Perceptual Color Processing — All color matching and error diffusion operates in Oklab perceptual color space, producing better results than RGB-based tools.

Real-Time Progress — Every algorithm reports stage, percentage, and detail to the status bar. The UI stays responsive during long conversions.

Built-In Test Patterns — Color bars, gradients, HSV sweep, checkerboard, and photo simulation for evaluating algorithm quality without needing a source image.

Who Is This For?

  • QBasic and GW-BASIC programmers displaying real images in BASIC programs
  • Amiga enthusiasts creating OCS-compatible artwork
  • Retro game developers targeting DOS and Amiga screen modes
  • Demoscene artists converting reference images to hardware-constrained palettes
  • Pixel artists reducing color counts while preserving outlines and flat areas
  • Educators teaching computer graphics history with hands-on tools
  • Anyone who wants to see what their photos would look like on vintage hardware

Technical Details

  • Version: 1.2
  • Platform: Windows (native Win 32/64 executable)
  • Price: Free — always has been, always will be
  • Dependencies: None — single executable, no runtime required
  • Source: Available on GitHub

RetroConvert was built by a retro computing enthusiast who got tired of manually converting images pixel by pixel. Every algorithm was chosen because it solves a real problem that comes up when targeting 4-color CGA, 16-color EGA, or 32-color Amiga OCS. If you've ever tried to get a photo onto retro hardware and gotten garbage on screen, this tool exists because of that exact experience.

RetroConvert Plus — $9.99 Donation

Thank you for supporting retro computing tools! Anyone who donates $9.99 or more through itch.io receives RetroConvert Plus, which includes the bonus program:

RetroView v1.1 — Retro Graphics File Viewer

A dedicated image viewer built for retro file formats. Features include:

  • Multi-format support: BMP, PNG, JPEG, GIF, IFF/ILBM (including HAM6, HAM8, and Extra Half-Brite), Borland CHR vector fonts, VecDraw .vec files, RIPscrip graphics, and SVG
  • File browser panel with directory navigation — click any supported file to preview instantly
  • Zoom controls — zoom in/out, fit to window, 1:1 pixel view
  • Background options — black, gray, or checkerboard for transparency
  • Detailed format info in the status bar — resolution, bit depth, color count, Amiga display mode (HAM6/EHB/HiRes/Lace), vector shape counts
  • Clipboard copy — copy any viewed image to clipboard
  • Drag and drop — drop files directly onto the window
  • Keyboard navigation — arrow keys to browse files, +/- to zoom

RetroView is the perfect companion to RetroConvert — convert your images, then preview the results in their native retro format without needing an emulator.

RetroConvert itself remains completely free. The donation tier is a thank-you bonus, not a paywall.

retronick2020.itch.io
u/nickshardware — 3 months ago
▲ 13 r/trs80+1 crossposts

VecDraw v1.2 — Vector Drawing Editor for Retro Programming

🎨 Draw It. Export It. Run It.

VecDraw is a visual vector drawing editor that exports your artwork as runnable source code for GW-BASICQBasic/QB64Turbo Pascal 7Quick PascalFree PascalWatcom CRIPscrip, and SVG.

No pixel pushing. No graph paper. No hand-calculating DRAW strings or LINE coordinates.

Click. Draw. Export. Compile or run. Your picture appears on screen — in the language of your choice.

VecDraw supports BASIC, Pascal, and C through native DRAW command libraries available on GitHub, making it a truly multi-language, multi-platform retro graphics tool.

VecDraw is completely free to download and use — no limitations, no nag screens, no trial period.

Drawing Tools

Line · Rectangle · Ellipse · Circle · Polyline · Polygon · Bezier Curve · Text (Borland CHR vector fonts) · Paint (flood fill seed) · SVG (embedded icon placement)

Every tool gives you a live rubber-band preview while drawing and full handle-based editing in Select mode.

Select & Edit

Click to select → drag to move → handles to resize → palette click to recolor. Undo with Ctrl+Z. Reorder shapes with Bring Forward / Send Back.

Multi-Selection — Shift+click to toggle individual shapes, drag an empty area for rubber-band selection, Ctrl+A to select all. Move, delete, or recolor multiple shapes at once.

Shape Grouping — Ctrl+G locks selected shapes into a group. Click any member and the whole group selects together. Move a house as one unit instead of four shapes. Ungroup with Ctrl+Shift+G.

Cut, Copy & Paste — Ctrl+X / Ctrl+C / Ctrl+V with automatic paste offset. Groups maintain their structure through copy/paste.

Shape Browser — Right-side panel lists every shape with its index, type, color, group membership, and text preview. Click to select, reorder with Up/Down buttons, delete from the list. Syncs both ways with the canvas.

Built-in QBasic Scripting Engine

VecDraw includes a full QBasic-compatible scripting engine that lets you automate drawing tasks, generate complex patterns, and create shapes programmatically.

Press F9 or go to Help → Script Manager to open the integrated code editor. Write scripts using familiar QBasic syntax and execute them directly inside VecDraw. Every shape created by a script is a real document shape — fully selectable, editable, exportable, and saved with your .vec file.

Scripting Language Features

The engine supports core QBasic language constructs:

  • Control flow: FOR/NEXT, WHILE/WEND, DO/LOOP, IF/THEN/ELSE/ELSEIF
  • Procedures: SUB and FUNCTION with parameters and local scope
  • Branching: SELECT CASE with numeric and string matching
  • Data types: Integer, floating point, and string variables
  • Arrays: DIM with single and multi-dimensional arrays
  • String functions: LEFT,RIGHT, RIGHT ,RIGHT, MID,LEN,INSTR,STR, LEN, INSTR, STR ,LEN,INSTR,STR, VAL, CHR,ASC,UCASE, ASC, UCASE ,ASC,UCASE, LCASE$
  • Math functions: SIN, COS, TAN, ATN, SQR, ABS, INT, FIX, SGN, LOG, EXP, RND
  • I/O: PRINT for debug output to the Script Manager console

Drawing API (22+ Functions)

Scripts interact with the VecDraw canvas through a rich API:

  • Create shapesAddLine(x1,y1,x2,y2,color)AddRect(...)AddCircle(cx,cy,r,color)AddEllipse(cx,cy,rx,ry,color)AddBezier(x1,y1,x2,y2,x3,y3,x4,y4,color)AddPaint(x,y,fill,border)ADDTEXTSTR$(x,y,text$,color)
  • Query shapesGetShapeCount()GetShapeType(idx)GetShapeColor(idx)GetShapePoint(idx,pt,xy)
  • Modify shapesSetShapeColor(idx,color)MoveShape(idx,dx,dy)DeleteShape(idx)SelectShape(idx)
  • Canvas infoGetCanvasWidth()GetCanvasHeight()GetScreenMode()
  • Document controlSaveUndo()Refresh()ClearAll()

What Can You Script?

  • Generate geometric patterns: spirals, starbursts, grids, kaleidoscopes
  • Create parametric art: sine waves, Lissajous curves, fractal-like structures
  • Batch-create shape layouts: chessboards, tile patterns, city skylines
  • Automate repetitive tasks: duplicate and offset shapes, apply color gradients
  • Prototype drawings before manual refinement

Custom Palette Editor

View → Edit Palette opens a 16-swatch editor with r/G/B sliders and live preview. Custom palettes export correctly to every target: EGA modes emit proper 6-bit rgbRGB values, VGA modes emit 6-bit DAC long values. Palettes are saved and restored with your .vec files.

Snap to Grid

Toggle snap on/off and set grid size from 2 to 100 pixels. Snapping applies to both new shapes during drawing and existing shapes when moving or resizing in Select mode. The visible grid matches your snap size.

SVG Icon Import

Load any SVG file → click to place it as a scalable, movable shape. Stroke data is embedded in the document and survives save/load. Place multiple SVG icons in one drawing, each independently positioned and scaled.

CHR Font Support

Load Borland .CHR vector fonts → type text → click to place. Each text shape remembers its font file. The font cache supports multiple fonts in a single drawing.

Export Targets

VecDraw exports to 6 languages and 3 additional formats. DRAW command libraries for Pascal and C are available on GitHub, making VecDraw a multi-language retro graphics pipeline.

Format Target
DRAW strings GW-BASIC, QBasic/QB64
DRAW (native) Free Pascal, Turbo Pascal 7, Quick Pascal, Watcom C
LINE byte-packed GW-BASIC, QBasic/QB64
BSV + BLOAD GW-BASIC, QBasic/QB64
SVG Web browsers, vector editors
RIPscrip BBS terminals (RIPscrip 1.54)

Every BASIC export includes proper SCREEN mode setup, palette commands when custom colors are used, PAINT commands for flood fills, and a "Press any key" exit handler. Pascal and C exports produce complete compilable source files.

Export to Clipboard

Toggle File → Export → Export to Clipboard and any text export goes straight to your clipboard — no save dialog, no file to manage. Just export and paste into your IDE, editor, or terminal. Works with all text-based formats: DRAW, LINE, Pascal, C, SVG, and RIPscrip.

SVG Export

Exports all shapes as SVG <path> elements with white stroke. Compatible with VecDraw's own SVG import for round-tripping.

RIPscrip Export

Exports as RIPscrip 1.54 with base-36 MegaNum coordinate encoding, color-change optimization, flood fill support, proper header/footer, and 80-column line wrapping.

Screen Modes

Mode Resolution Colors
SCREEN 1 320×200 4
SCREEN 2 640×200 2
SCREEN 7 320×200 16
SCREEN 8 640×200 16
SCREEN 9 640×350 16 (default)
SCREEN 12 640×480 16
SCREEN 13 320×200 256

Requirements

  • Windows (32-bit and 64-bit)
  • No installation required — single executable

Who Is This For?

  • Retro computing enthusiasts creating graphics for vintage BASIC, Pascal, and C programs
  • BBS operators building RIPscrip graphics for their boards
  • Demoscene and retrodev creators targeting real EGA/VGA hardware
  • Educators teaching computer graphics with immediate visual feedback
  • Anyone who wants to draw vector art and export it as working source code

💎 VecDraw Plus — Thank You Bundle ($9.99+ Donation)

VecDraw is and always will be free. The full program with every feature described above is included in the free download with no restrictions.

If you'd like to support continued development, donors of $9.99 or more receive VecDraw Plus — a bonus download bundle packed with additional tools and content to supercharge your retro graphics workflow:

🖼️ RetroViewer

A standalone companion application for browsing and previewing retro graphics files. Features include:

  • Built-in file browser with directory navigation and folder picker — click any file to instantly preview it
  • Supports 9 formats: BMP, PNG, JPG, GIF, Amiga ILBM/IFF (HAM6, HAM8, EHB, HiRes, Interlace), VecDraw .vec, RIPscrip .rip, SVG, and Borland CHR fonts
  • CHR font viewer renders every glyph in a labeled character grid
  • Zoom, pan, copy to clipboard, drag-and-drop, and command-line support

🔤 86 Borland CHR Vector Fonts

A curated collection of vector fonts ready to use with VecDraw's Text tool. Drop them in your project folder and start placing styled text in your drawings.

🎨 Sample SVG Icons

A set of SVG icon files to use with VecDraw's SVG Import tool. Place, scale, and combine them freely in your drawings.

📜 10 Example Script Programs

Ready-to-run QBasic scripts demonstrating the scripting API in action: concentric circles, grid generator, starburst pattern, checkerboard, spiral, sine wave plotter, city skyline, and more. Study them, modify them, use them as starting points for your own scripts.

📖 Script Manual

Complete reference guide for VecDraw's QBasic scripting engine covering all 22+ API functions with usage examples and tips.

Your donation directly supports new features, new export formats, and new screen modes. Thank you for keeping retro development tools alive.

Links

  • DRAW command libraries for Pascal and C: Available on GitHub
  • retronick2020 on itch.io
u/nickshardware — 3 months ago

RetroNick's Vector Font Editor

The Ultimate Stroke Font Tool for Retro Programmers

Finally — a modern editor for creating, editing, and converting vector stroke fonts for retro platforms. Import from thousands of existing TrueType fonts and SVG icons, then export to formats your vintage compiler actually understands.

Whether you're writing a DOS game in Turbo Pascal, building a GW-BASIC graphics demo, rendering text in a QBasic adventure, or adding scalable fonts to a FreePascal project — this is the tool that's been missing from your retro toolkit.

🔤 What Is a Vector/Stroke Font?

Unlike bitmap fonts that shatter at different sizes, vector fonts store each character as a series of pen strokes — MoveTo and LineTo commands that draw the letterform from lines. They scale to any size without losing quality. They were used extensively in DOS-era graphics: Borland's BGI system, Windows 2.x/3.x vector .FON files, plotters, CNC machines, and early CAD software.

The problem? The tools to create these fonts disappeared decades ago. Until now.

✨ Features

Full Visual Stroke Editor

  • Draw characters stroke by stroke with MoveTo/LineTo tools
  • Point-level editing — select, drag, add, delete individual vertices
  • Snap-to-grid with configurable zoom (4x to 16x)
  • Undo/Redo on every character
  • Copy/Paste between characters
  • Flip horizontal and vertical
  • Nudge points in any direction

📐 Font Metrics & Typographic Guides

  • Configurable font height, point size, and ascent
  • Visual baseline, ascender, descender, and x-height guide lines
  • Auto-scan: detects metric lines from actual glyph data (examines uppercase, lowercase, and descender characters automatically)
  • Manual override for pixel-perfect control

🔠 TrueType Font Import — Access Thousands of Fonts Instantly

  • Import any installed Windows TrueType font or browse to any .TTF file on disk
  • Specify target pixel height before import — fonts are scaled and flattened to clean stroke data
  • Full Bézier curve flattening — quadratic splines from TTF outlines are converted to crisp line segments
  • Automatic baseline, ascender, descender, and x-height detection after import
  • Character range selection (import just ASCII, full extended set, or any custom range)
  • Live preview with adjustable sample text before committing to import
  • All 2,500+ Google Fonts, every free font on the internet, your system fonts — they're all one click away from becoming retro stroke fonts

🎨 SVG Icon Import — Turn Any Icon Into a Font Glyph

  • Import SVG files directly into any character slot
  • Full SVG path command support: lines, cubic and quadratic Bézier curves, smooth curves, elliptical arcs — all flattened to clean strokes
  • Handles SVG basic shapes: rectangles (with rounded corners), circles, ellipses, polygons, polylines
  • Automatic scaling to match your font height
  • Smart deduplication removes redundant points created during curve flattening
  • Google Material Icons, Font Awesome, Heroicons, Feather Icons, game UI icons, custom artwork — if it's SVG, it's importable
  • Build entire icon fonts by importing one SVG per character slot

💾 Multi-Format Save/Load

  • Windows .FON Vector Format — Native NE-format vector font files compatible with Windows 2.x/3.x and any language/tool that reads Windows vector fonts
  • Borland .CHR Stroke Font Format — Direct export for Turbo Pascal BGI, FreePascal, and the many open-source projects that support the CHR format
  • Open from either format — Load existing .FON or .CHR files for editing and conversion

🖥️ Live Preview

  • Real-time text preview with custom sample strings
  • See your font rendered as you edit — every stroke change updates instantly

⚙️ Batch Tools

  • Add trailing MoveTo commands to all characters (CHR format compatibility)
  • Font metrics inspector showing character counts, stroke totals, width statistics
  • Full character range management with apply/reset

🎯 Who Is This For?

Turbo Pascal / FreePascal developers — Export .CHR fonts and use them with BGI graphics, PTCGraph, or any framework that reads Borland stroke fonts. Create custom fonts for your DOS and retro-style applications.

GW-BASIC / QBasic / QB64 programmers — Import professional fonts, then use the CHR export pipeline to generate stroke data usable in BASIC programs via DRAW commands or LINE rendering.

Windows vector font users — The .FON vector format is supported by Windows and any development tool that can load Windows font resources. Microsoft languages, resource editors, and legacy Win16/Win32 applications.

Retro game developers — Build pixel-perfect scaled text rendering for DOS games, demoscene productions, and retro-styled modern games. Import iconic fonts and give them that authentic stroke-rendered look.

Open source projects — Any project that reads Borland CHR stroke fonts gains access to a full font creation pipeline. The CHR format is documented, compact, and simple to parse.

Icon font creators — Combine SVG icon imports with the character-per-slot workflow to build custom icon fonts for embedded systems, retro UIs, or any platform where bitmap fonts are too rigid.

💡 The Breakthrough

Before this tool, creating stroke fonts for retro platforms meant either hand-coding coordinate tables or being stuck with the handful of .CHR files Borland shipped in 1990. Converting a modern font to BGI strokes? Forget it. Getting a Material Design icon into a DOS program? Impossible.

Now you can take any TrueType font — from elegant serifs to pixel-perfect monospace — flatten its Bézier outlines to clean strokes, and export it as a .CHR or .FON file ready to use in your retro project. You can grab any SVG icon from the thousands of free icon sets available online and drop it straight into a character slot.

Tens of thousands of fonts. Hundreds of thousands of SVG icons. One editor. Every retro platform.

📋 System Requirements

  • Windows (32-bit or 64-bit)
  • No additional runtime libraries or DLLs required
  • No internet connection needed (TTF import reads directly from font files)

Created by RetroNick — building the tools that retro programming deserves.

u/nickshardware — 4 months ago