Skip to content

portwally/Retro-Graphics-converter

Repository files navigation

Platform Language

I was in search of a tool for MacOS that could batch convert Apple IIgs SHR graphics into png format but could not find anything. In the end I decided to code one myself in Swift. It started with SHR uncompressed graphic files to png format. Then i added HGR and DHGR conversion and output formats like png, jpg, tiff, gif and heic. Was bored and added then more graphic formats...

Just drag and drop your disk images in the app and extract your pics from there. You also can export any file from within the app to your Mac.

Screenshot 2026-01-23 at 21 27 44

📂 Supported Formats (16 Platforms) Retro Platforms

🍎 Apple II/IIGS: SHR (Standard/3200/3200 Packed/816Paint/DreamGrafix), HGR, DHGR, PNT, PIC
🖥️ Amiga: IFF/ILBM (8-bit indexed, 24-bit RGB, HAM6 4096 colors, HAM8 262144 colors), ADF disk images
🕹️ Atari ST: Degas (PI1/PI2/PI3), NEOchrome (.NEO), ST disk images (.st)
🎰 Atari 8-bit (400/800/XL/XE): GR.8, GR.9, GR.10, GR.11, GR.15/GR.7, MicroIllustrator (.MIC), ATR disk images
💾 Commodore 64: Koala Painter, HIRES, Art Studio, D64/D71/D81 disk images
🎹 Commodore Plus/4: HiRes (320×200), Multicolor (160×200), 128-color TED palette
📺 Commodore VIC-20: HiRes (176×184), Multicolor (88×184), 16-color VIC palette
🎮 ZX Spectrum: SCR (6912 bytes), TRD disk images (TR-DOS Beta Disk Interface)
💻 Amstrad CPC: Mode 0 (16 colors), Mode 1 (4 colors), DSK disk images
📺 MSX/MSX2: Screen 1, 2, 5, 7, 8 (SC2/SC5/SC7/SC8/GRP files, BSAVE format), DSK disk images
📻 BBC Micro: MODE 0-5 (2/4/16 colors, .bbc/.bbm0-5 files, BitPast palette support), SSD/DSD disk images
🖳 TRS-80/CoCo: Model I/III block graphics, CoCo PMODE 3/4, CoCo 3 (16 colors)
🖨️ PC/DOS: PCX (CGA 4-color, EGA 16-color, EGA 64-color, VGA 256-color, 24-bit RGB with RLE compression)
🪟 Windows: BMP (1/4/8/24-bit)
🖼️ Classic Mac: MacPaint (1-bit with PackBits compression)

Modern Formats

📸 PNG: Portable Network Graphics
🎞️ JPEG/JPG: Joint Photographic Experts Group
🎬 GIF: Graphics Interchange Format
📄 TIFF: Tagged Image File Format
📱 HEIC/HEIF: High Efficiency Image Format

💿 Supported Disk Image Formats (15 Types)

Extension Platform Description
.2mg Apple II 2IMG container format (ProDOS or DOS 3.3 volumes)
.po Apple II ProDOS-order disk image (140KB-32MB)
.do Apple II DOS 3.3-order disk image (140KB)
.dsk Apple II / Amstrad CPC / MSX Universal disk format (auto-detected)
.hdv Apple II ProDOS hard disk volume (up to 32MB)
.img Various Generic disk image format
.d64 Commodore 64 1541 disk image (170KB, 35 tracks)
.d71 Commodore 128 1571 disk image (340KB, 70 tracks, double-sided)
.d81 Commodore 128 1581 disk image (800KB, 80 tracks, 3.5" floppy)
.adf Amiga Amiga Disk File (880KB OFS/FFS)
.st Atari ST Atari ST disk image (360KB-720KB)
.atr Atari 8-bit Atari 400/800/XL/XE disk image (90KB-360KB)
.ssd BBC Micro Single-sided DFS disk (100KB/200KB)
.dsd BBC Micro Double-sided DFS disk (200KB/400KB)
.trd ZX Spectrum TR-DOS disk image (640KB, Beta Disk Interface)

✨ Features File Management

📥 Drag & Drop: Drop files anywhere - main area or browser panel
📁 Folder Support: Recursively scan folders for image files
🔄 Batch Processing: Process hundreds of files at once
🗑️ Clear All: Quick clear button to reset workspace
📂 Recent Folders: Quick access to previously opened folders from File menu

Image Tools

🔄 Rotate: Rotate images 90° left or right
↔️ Flip: Mirror images horizontally or vertically
🔲 Invert: Swap colors (great for MacPaint/1-bit images)
✂️ Crop: Select and crop any region of an image
📋 Copy: Copy current image to clipboard for pasting into other apps
👁️ Before/After: Toggle between original and modified view
↩️ Undo: Revert up to 10 transformations (Cmd+Z)
📊 Batch Transform: Apply rotate/flip/invert to all selected images at once

Palette Editing

🎨 Live Color Editing: Click any palette color to modify it in real-time
🖼️ Supported Formats: SHR, 3200-color, C64, Plus/4, Amiga IFF, Atari ST, ZX Spectrum, MSX, BBC Micro, TRS-80/CoCo, MacPaint, and more
📍 Scanline Palettes: For 3200-color images
🔄 Reset: One-click reset to restore original palette

Export & Conversion

💾 Export Formats: PNG, JPEG, TIFF, GIF, HEIC
📈 Upscaling: 1x (original), 2x, 4x, 8x with nearest-neighbor (pixel-perfect)
📦 Batch Export: Export all images to chosen format
✏️ Custom Naming: Export with patterns like {name}{n} or converted{n}
🎨 Format Preservation: Maintains authentic retro look with proper color palettes

Screensaver Export

📺 Create macOS Screensavers: Export your retro graphics as a folder for macOS photo screensavers
🖥️ Auto-Setup: Automatically opens System Settings to configure your screensaver
📏 Scale Options: 2x, 4x, or 8x scaling for crisp pixels on modern displays
📂 Organized Storage: Images saved to ~/Pictures/Retro Screensavers/

Movie Export

🎬 Video Slideshow: Create MP4 or MOV videos from your images
⏱️ Timing Control: Set display duration per image (1-10 seconds)
🔀 Transitions: Crossfade, Fade to Black, Slides, Wipes, Zooms, or Random
📺 Resolution: Export in 720p, 1080p, or 4K
🎥 Codecs: H.264 (universal compatibility) or H.265/HEVC (better quality, smaller files)
📏 Pixel-Perfect: Nearest-neighbor scaling preserves the authentic retro look

User Interface

🔍 Adjustable Thumbnails: Slider to resize preview thumbnails (50-150px)
ℹ️ Image Info: Click info button to see dimensions, file size, color count, format details
📊 Status Bar: Track imported, selected, removed, and exported file counts
🎛️ Modern Toolbar: Hero-style buttons with icons and labels

Smart Detection

🧠 Intelligent Format Recognition: Magic bytes, file size, and extension analysis
🔬 Multi-Method Detection: Priority system prevents false positives
⚙️ Edge Case Handling: Supports variant file sizes (e.g., C64 Koala 10003-10010 bytes)
🎯 Conflict Resolution: DHGR vs CPC, MacPaint vs SHR detection logic

Technical Highlights

🎨 Accurate Color Palettes: C64, Apple II, EGA, CGA, ZX Spectrum, MSX TMS9918, BBC Micro, CoCo palettes
🗜️ Decompression Support: RLE (PCX), PackBits (MacPaint), PackBytes (PNT/SHR), LZW (DreamGrafix), IFF compression
🔄 Format-Specific Decoding: Planar, chunky, interleaved, tile-based bitmap handling
🎯 Amiga HAM Decoding: Full Hold-And-Modify algorithm for HAM6 (4096 colors) and HAM8 (262144 colors)
📊 Resolution Accuracy: Proper aspect ratios and pixel layouts

🚀 Use Cases

🕰️ Retro Gaming: Convert game graphics from classic platforms
🎨 Digital Preservation: Archive vintage computer art
🔄 Format Migration: Batch convert old formats to modern standards
📚 Collection Management: Browse and organize retro graphics libraries
🖼️ Comparison: View retro and modern images side-by-side
💿 Archive Processing: Extract and convert graphics from 15 disk image formats (.2mg, .po, .do, .dsk, .hdv, .img, .d64, .d71, .d81, .adf, .st, .atr, .ssd, .dsd, .trd)
📺 Screensavers: Turn your retro art collection into a beautiful macOS screensaver
🎬 Video Slideshows: Create movies from your graphics with transitions for sharing or presentations

Bildschirmfoto 2025-12-10 um 14 49 07

Amiga images Bildschirmfoto 2025-12-09 um 14 45 48

Atari ST images, PI1,PI2,PI3 Bildschirmfoto 2025-12-09 um 15 31 55

C64 Koala and Art Studio Bildschirmfoto 2025-12-09 um 17 38 31

ZX Spectrum SCR Bildschirmfoto 2025-12-09 um 19 11 49

PCX Bildschirmfoto 2025-12-09 um 21 17 13

Macpaint Bildschirmfoto 2025-12-09 um 22 25 20

BMP Bildschirmfoto 2025-12-09 um 22 31 06

IMPORTANT INSTALLATION NOTE (Apple Gatekeeper)

Since this app is not distributed through the official Apple App Store and may not have been Notarized by a paid Apple Developer Account, macOS might display a security warning upon the first launch.

You may see a message stating: "The app cannot be opened because it is from an unverified developer."

How to bypass this warning (one-time process):

Close the warning window. Go to the app in Finder (e.g., in your Applications Folder). Hold the Control key and click on the app icon (or use the Right-Click menu). Select Open from the context menu. In the subsequent dialog box, confirm that you want to open the app by clicking Open again. The application will now launch and will be trusted by macOS for all future starts. If this does not work then

  1. Open Terminal You can find it in: Applications → Utilities → Terminal
  2. Run the following command (in case you installed it in the Applications directory):
    xattr -cr /Applications/Retro-Graphics-Converter.app

Downloads Stars Forks

About

Converts graphics of old school computers to modern formats like PNG, JPG, TIFF, GIF

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages