{"id":40244095,"url":"https://github.com/fieserwolf/convertron3000","last_synced_at":"2026-01-20T00:01:26.084Z","repository":{"id":217055325,"uuid":"89096052","full_name":"fieserWolF/convertron3000","owner":"fieserWolF","description":"Convertron3000 commodore 64 graphics converter","archived":false,"fork":false,"pushed_at":"2026-01-17T13:13:05.000Z","size":76094,"stargazers_count":48,"open_issues_count":0,"forks_count":1,"subscribers_count":6,"default_branch":"master","last_synced_at":"2026-01-17T23:54:41.875Z","etag":null,"topics":["c64","commodore-64","converter","graphics","retrocomputing"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fieserWolF.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2017-04-22T20:06:17.000Z","updated_at":"2026-01-17T13:13:08.000Z","dependencies_parsed_at":null,"dependency_job_id":"b00590cb-d0c3-4e3a-a53d-dc49895d2c8c","html_url":"https://github.com/fieserWolF/convertron3000","commit_stats":null,"previous_names":["fieserwolf/convertron3000"],"tags_count":8,"template":false,"template_full_name":null,"purl":"pkg:github/fieserWolF/convertron3000","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fieserWolF%2Fconvertron3000","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fieserWolF%2Fconvertron3000/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fieserWolF%2Fconvertron3000/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fieserWolF%2Fconvertron3000/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fieserWolF","download_url":"https://codeload.github.com/fieserWolF/convertron3000/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fieserWolF%2Fconvertron3000/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28590676,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-19T23:59:00.777Z","status":"ssl_error","status_checked_at":"2026-01-19T23:58:54.030Z","response_time":67,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["c64","commodore-64","converter","graphics","retrocomputing"],"created_at":"2026-01-20T00:01:03.148Z","updated_at":"2026-01-20T00:01:26.050Z","avatar_url":"https://github.com/fieserWolF.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Convertron3000\n\nConvertron3000 is a graphics converter for Commodore 64 computers.\nIt runs on Linux, MacOS, Windows and other systems supported by Python. \n\n![screenshot](./screenshot.png)\n\n\n# Why Convertron3000?\n\nreason | description\n---|---\nopen source | easy to modify and to improve, any useful contribution is highly welcome\nportable | available on Linux, MacOS, Windows and any other system supported by Python3\ninstant preview | just fiddle around with the sliders and see the result before converting\ndeal with color clashes | visualize color clashes instantly or read out their position from an optional json-file\n\n\n# Author\n\n* fieserWolF/Abyss-Connection - *initial work* - [https://github.com/fieserWolF](https://github.com/fieserWolF) [https://csdb.dk/scener/?id=3623](https://csdb.dk/scener/?id=3623)\n\n\n# Acknowledgments\n\n* thanks to [Green/ATW](http://csdb.dk/scener/?id=20695) for spontaneously naming Convertron3000 :)\n* thanks to people on [csdb.dk](http://csdb.dk/release/?id=155606) for commenting and giving ideas how to improve\n* thanks to Henrik Blidh for his hitherdither library [https://github.com/hbldh/hitherdither](https://github.com/hbldh/hitherdither) which I use\n# Using Convertron 3000\n\n\n## Usage\n\nUsing Convertron3000 is pretty straight-forward:\n\n* Open some image.\n* Adjust the sliders or apply an effect.\n* Convert to koala or hires format.\n* optional: Check position of color-clashes.\n* Save the resulting image.\n\n\n## shortcuts\n\nkey | function\n---|---\nF1 | help\nAlt-o | open image\nAlt-s | save image (koala or hires format)\nAlt-c | convert image\nAlt-p | open settings\nAlt-v | save settings\nAlt-q | quit\n\n\n## Dithering\n\nAs of now, Convertron3000 offers various dithering methods.\nAs the PIL-library only implements \"floyd-steinberg\"-dithering, all other dithering methods were taken from the hitherdither library.\n\nreason | description\n---|---\nfloyd-steinberg dithering | speedy performance from the PIL-library\nbayer-ordered dithering | the speedy standard, my favourite for C64 pictures\nline dithering | a modified bayer-ordered dithering method, sometimes looks better than normal ordered dithering\ndot dithering | not my favourite, but might give nice results on some pictures\nyliluomas1 dithering | Warning: Painfully slow - use with care! The results are stunningly good sometimes, though.\n\n\nPlease, take note that all dithering implementations except \"floyd-steinberg\"-dithering are quite slow when using the \"Brightness palette\"-mode, which is described below.\n\n\n\n\n## Brightness palette\n\nSometimes converted images look better when applying a palette based on brightness values.\n\n* Select \"brightness palette\" mode.\n* Choose one of the presets (\"purple\", \"brown\" etc.).\n\nYou can also create your own palette like this:\n\n* Edit the .json file: In the .json file you specify the size of your palette and the C64-colors like in one of the examples provided.\n* Open your .json file. You find this option in the drop-down menu under \"open custom gradient\".\n* Choose \"custom\" as your brightness palette.\n\n\n\n\n## File Formats\n\nThe multicolor bitmap is stored in the widely-spread KoalaPainter (.koa) format:\n\n* 2 bytes load address\n* 8000 bytes raw bitmap data\n* 1000 bytes raw \"Video Matrix\" (screen) data\n* 1000 bytes raw \"Color RAM\" data\n* 1 byte background data\n\nThe hires bitmap is stored in the widely-spread Advanced Art Studio (.art) format:\n\n* 2 bytes load address\n* 8000 bytes raw bitmap data\n* 1000 bytes raw \"Video Matrix\" (screen) data\n\n\n# Commandline options\n\n\tCONVERTRON3000 v1.34 [build 251229-205604] *** by fieserWolF\n\tusage: convertron.py [-h] [-i INPUT_IMAGE] [-g FILE_GRADIENT] [-s FILE_SETTINGS] [-d]\n\n\tThis program reads an image-file, lets the user adjust settings and converts it to a C64 koala or hires image.\n\n\toptions:\n\t  -h, --help            show this help message and exit\n\t  -i, --image INPUT_IMAGE\n\t\t\t\t\t\t\timage file)\n\t  -g, --gradient FILE_GRADIENT\n\t\t\t\t\t\t\tfilename of custom gradient file (JSON) to be loaded\n\t  -s, --settings FILE_SETTINGS\n\t\t\t\t\t\t\tfilename of settings file (JSON) to be loaded\n\t  -d, --debug           show color-clashes on consule\n\n\tExample: ./convertron.py -i image.png -g 8color_gradient-brown.json -s settings.json -d\n# Getting Started\n\nConvertron3000 comes in two flavors:\n\n- Python3 script if you have python3 installed on your system (preferred method)\n- executable for Linux and Windows (see [releases](https://github.com/fieserWolF/convertron3000/releases))\n\n## Run the executable\n\nJust download your zip-bundle at [releases](https://github.com/fieserWolF/convertron3000/releases), extract it to a folder of your choice and enjoy.\n\n### Note for Windows users\n\nIf some antivirus scanner puts Convertron3000 into quarantine because it suspects a trojan or virus, simply put it out there again.\nIt isn`t harmful, I used PyInstaller to bundle the standalone executable for you.\nUnfortunately, the PyInstaller bootloader triggers a false alarm on some systems.\nI even tried my best and re-compiled the PyInstaller bootloader so that this should not happen anymore. Keep your fingers crossed ;)\n\n### Note for MacOS users\n\nIn [releases](https://github.com/fieserWolF/convertron3000/releases) you also find older versions of Convertron 3000 compiled as standalone executables.\nYou may use this, but your system might complain that the code is not signed by a certificated developer. Well, I am not, so I signed the program on my own. \n```\n\"Convertron3000\" can`t be opened because it is from an unidentified developer.\n```\nYou need to right-click or Control-click the app and select “Open”.\n\n\n\n## Run the Python3 script directly\n\n### Prerequisites\n\nAt least this is needed to run the script directly:\n\n- python 3\n- python tkinter module\n- python \"The Python Imaging Library\" (PIL)\n- python \"argparse\" library\n- python \"hitherdither\" library\n\n\nNormally, you would use pip like this:\n```\npip3 install pillow argparse git+https://www.github.com/hbldh/hitherdither\n```\nYou might need to install git (apt install git) first.\n\n\nOn my Debian GNU/Linux machine I use apt-get to install everything needed:\n```\napt update\napt install python3 python3-tk python3-pil python3-pil.imagetk\npip3 install git+https://www.github.com/hbldh/hitherdither\n```\n\n\n### Download Convertron3000\n\n* Go to [https://github.com/fieserWolF/convertron3000](https://github.com/fieserWolF/convertron3000).\n* Click on the green \"Code\" button and \"Download ZIP\".\n* Extract the downloaded ZIP-file to any folder.\n\n\n\n# Changelog\r\n\r\n## Future plans\r\n\r\n- custom brightness palette editor\r\n\r\nAny help and support in any form is highly appreciated.\r\n\r\nIf you have a feature request, a bug report or if you want to offer help, please, contact me:\r\n\r\n\r\n[http://csdb.dk/scener/?id=3623](http://csdb.dk/scener/?id=3623)\r\nor\r\n[wolf@abyss-connection.de](wolf@abyss-connection.de)\r\n\r\n\r\n\r\n## Changes in 1.35\r\n\r\n- resizable image windows\r\n- various bug fixes\r\n\r\n\r\n## Changes in 1.34 (on Dream210 Party 2025)\r\n\r\n- all settings can now be written to a file and restored to a file (json format)\r\n- rearranged the main layout to simplify the workflow (all controls are closer by now)\r\n- rewritten the whole code, split up into parts\r\n- rearranged the documentation\r\n- responsive GUI\r\n- bug fix: proper file-not-found handling when opening images\r\n- bug fix: fixed crash when not finding reasonable color replacement in hires mode (thanks slesinger for the bug report)\r\n\r\n\r\n## Changes in 1.33\r\n\r\n- added: color-clashes can be saved as image and as json\r\n- bug fixes\r\n\r\n\r\n## Changes in 1.32\r\n\r\n- added proper commandline argument parsing (try \"convertron.py --help\")\r\n- added json output of color clashes (can be read from other tools to work on color clashes)\r\n- fixed: removed leftover saving debug image \"/tmp/1.png\"\r\n\r\n\r\n## Changes in 1.31\r\n\r\n- fixed: wrong hires image dimensions when using line dithering\r\n\r\n\r\n## Changes in 1.3 (on X2024)\r\n\r\n- fixed: proper scaling, better conversion\r\n- show position of color clashes in GUI and on console\r\n\r\n\r\n## Changes in 1.2\r\n\r\n- proper dithering support: bayer-ordered, line dither and some others\r\n- GUI improvements\r\n- moved standalone executables to [releases](https://github.com/fieserWolF/convertron3000/releases)\r\n\r\n\r\n## Changes in 1.1\r\n\r\n- transfered whole code to Python3\r\n- great speed improvement, converts much faster now\r\n- new feature: specify image on the command-line, e.g. \"convertron.py picture.jpg\"\r\n- standalone executables for 64bit-systems: Linux, Darwin (MacOS) and Windows\r\n- GUI design adjusted for MacOS/Darwin\r\n- numpy library not used any more\r\n- documentation\r\n- custom brightness palette now uses .json format\r\n\r\n\r\n## Changes in 1.01\r\n\r\n- added licenses\r\n- added to github with proper README.md\r\n\r\n\r\n## Changes in 1.0\r\n\r\n- hires mode\r\n- colodore palette\r\n- button: reset color modifiers to default\r\n- start address now in hex\r\n- custom brightness palette (config file)\r\n\r\n\r\n## Changes in 0.1\r\n\r\n- initial release\r\n\r\n\r\n# License\r\n\r\n_Convertron3000 is a graphics converter for Commodore 64 computers._\r\n\r\n_Copyright (C) 2026 fieserWolF / Abyss-Connection_\r\n\r\nThis program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\r\n\r\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;\r\nwithout even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\r\nSee the GNU General Public License for more details.\r\n\r\nYou should have received a copy of the GNU General Public License along with this program.\r\nIf not, see [http://www.gnu.org/licenses/](http://www.gnu.org/licenses/).\r\n\r\nSee the [LICENSE](LICENSE) file for details.\r\n\r\nFor further questions, please contact me at\r\n[http://csdb.dk/scener/?id=3623](http://csdb.dk/scener/?id=3623)\r\nor\r\n[wolf@abyss-connection.de](wolf@abyss-connection.de)\r\n\r\nFor Python3, The Python Imaging Library (PIL), Tcl/Tk and other used source licenses see file [LICENSE_OTHERS](LICENSE_OTHERS).\r\n\r\n\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffieserwolf%2Fconvertron3000","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffieserwolf%2Fconvertron3000","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffieserwolf%2Fconvertron3000/lists"}