{"id":13618476,"url":"https://github.com/fieserWolF/convertron3000","last_synced_at":"2025-04-14T13:31:16.878Z","repository":{"id":217055325,"uuid":"89096052","full_name":"fieserWolF/convertron3000","owner":"fieserWolF","description":"Convertron3000 commodore 64 graphics converter","archived":false,"fork":false,"pushed_at":"2024-06-17T21:05:18.000Z","size":73813,"stargazers_count":39,"open_issues_count":1,"forks_count":1,"subscribers_count":5,"default_branch":"master","last_synced_at":"2024-08-02T21:38:30.352Z","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}},"created_at":"2017-04-22T20:06:17.000Z","updated_at":"2024-06-17T21:01:59.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":5,"template":false,"template_full_name":null,"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","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223633341,"owners_count":17176791,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":"2024-08-01T21:00:17.319Z","updated_at":"2025-04-14T13:31:16.864Z","avatar_url":"https://github.com/fieserWolF.png","language":"Python","funding_links":[],"categories":["Development Tools"],"sub_categories":[],"readme":"# Convertron3000\n\nConvertron3000 is a graphics converter for Commodore 64 computers.\nIt runs on 64 bit versions of 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# 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# Commandline options\n\n\tCONVERTRON3000 v1.33 [build 250322-030736] *** by fieserWolF\n\tusage: convertron.py [-h] [-i INPUT_IMAGE] [-c CLASHES_JSON] [-o CLASHES_IMAGE] [-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  -c, --clashes CLASHES_JSON\n\t\t\t\t\t\t\tfilename of report containing all color-clashes (in json-format (default=\"/tmp/color_clashes.json\")\n\t  -o, --output CLASHES_IMAGE\n\t\t\t\t\t\t\tfilename of color-clash image (default=\"/tmp/color_clashes.png\")\n\t  -d, --debug           show color-clashes on consule\n\n\tExample: ./convertron.py -i image.png -c /tmp/clashes.json -d\n\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\n# Authors\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\nAcknowledgments\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# Getting Started\n\nConvertron3000 comes in two flavors:\n\n- standalone executable for 64-bit systems Linux, MacOS/Darwin and Windows (see [releases](https://github.com/fieserWolF/convertron3000/releases))\n- Python3 script\n\n## Run the standalone executable\n\nJust download your bundle at [releases](https://github.com/fieserWolF/convertron3000/releases) and enjoy.\nKeep in mind that only 64bit systems are supported as I could not find a 32bit system to generate the bundle.\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\nYour 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\nDownload _convertron.py_ and the whole _resource_ - directory into the same folder on your computer.\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 tk pillow argparse git+https://www.github.com/hbldh/hitherdither\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# 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## Changes in 1.33\r\n\r\n- added: image with color-clashes is saved\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) 2025 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"}