All Projects β†’ fieserWolF β†’ convertron3000

fieserWolF / convertron3000

Licence: GPL-3.0 license
Convertron3000 commodore 64 graphics converter

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to convertron3000

retro-computing
πŸ€“πŸ•ΉπŸ’Ύ This hobby project contains software implementations of old microprocessors and complete computer systems. I'm very interested in retrocomputing and this is how I learn about the inner workings of these old, classic and amazing computers and game consoles.
Stars: ✭ 15 (-37.5%)
Mutual labels:  c64, commodore-64, retrocomputing
64tass
64tass - cross assembler for 6502 etc. microprocessors - by soci/singular - [git clone from the original sourceforge repo]
Stars: ✭ 19 (-20.83%)
Mutual labels:  c64, commodore-64, retrocomputing
VolksForth
volksFORTH is a 16bit Forth System maintained by the German Forth Gesellschaft e.V.
Stars: ✭ 41 (+70.83%)
Mutual labels:  c64, commodore-64
SIDKick
SIDKick -- the first complete SID 6581/8580-drop-in-replacement that you can build yourself
Stars: ✭ 70 (+191.67%)
Mutual labels:  c64, commodore-64
petscii-bbs
A Java framework for building highly customizable PETSCII-enabled BBS, accessible from Commodore 64/128
Stars: ✭ 84 (+250%)
Mutual labels:  c64, commodore-64
retropixels
A cross platform tool to convert images to c64 format.
Stars: ✭ 78 (+225%)
Mutual labels:  commodore-64, retrocomputing
EightBall
The Eight Bit Algorithmic Language for Apple II, Commodore 64 and VIC20
Stars: ✭ 17 (-29.17%)
Mutual labels:  commodore-64, retrocomputing
virtualc64web
vc64web - web based Commodore 64 Emulation with CSDb access for thousands of demos at your fingertip
Stars: ✭ 23 (-4.17%)
Mutual labels:  c64, commodore-64
c64adventures
Adventures into retro 8 bit Commodore 64 programming
Stars: ✭ 14 (-41.67%)
Mutual labels:  c64, commodore-64
apultra
Free open-source compressor for apLib with 5-7% better ratios
Stars: ✭ 84 (+250%)
Mutual labels:  c64, retrocomputing
mandelbrot
Mandelbrot set drawers for vintage hardware
Stars: ✭ 15 (-37.5%)
Mutual labels:  c64, retrocomputing
c64
C64 Christmas Demo in 6510 Assembly
Stars: ✭ 49 (+104.17%)
Mutual labels:  c64, retrocomputing
6502-npp-syntax
Notepad++ Syntax Highlighting for 6502 Assembly (and NESASM)
Stars: ✭ 21 (-12.5%)
Mutual labels:  c64, commodore-64
cpu11
Revengineered ancient PDP-11 CPUs, originals and clones
Stars: ✭ 120 (+400%)
Mutual labels:  retrocomputing
C64-WiFi-Modem-User-Port
A NodeMCU (ESP8266) based WiFi modem for the C64's user port
Stars: ✭ 49 (+104.17%)
Mutual labels:  c64
svg2polylines
Rust library to convert SVG data to a list of flattened polylines. Also includes FFI bindings.
Stars: ✭ 16 (-33.33%)
Mutual labels:  converter
svg2ass
Svg2ass - convert SVG vector graphics to ASS subtitle draw instructions.
Stars: ✭ 22 (-8.33%)
Mutual labels:  converter
Create-EXEFromPS1
Takes one PowerShell script and any number of supplementary files or even a directory and creates an exe using Windows's built in iexpress program. The exe will run on any machine with PowerShell 2.0+.
Stars: ✭ 81 (+237.5%)
Mutual labels:  converter
Video-to-audio-converter
A simple tool to convert video files into mp3 audio files
Stars: ✭ 40 (+66.67%)
Mutual labels:  converter
EDSAC
FPGA Verilog implementation of 1949 EDSAC Computer with animated tape reader, panel, teleprinter and CRT scope
Stars: ✭ 28 (+16.67%)
Mutual labels:  retrocomputing

Convertron3000

Convertron3000 is a graphics converter for Commodore 64 computers. It runs on 64 bit versions of Linux, MacOS, Windows and other systems supported by Python.

screenshot

Why Convertron3000?

reason description
open source easy to modify and to improve, any useful contribution is highly welcome
portable available on Linux, MacOS, Windows and any other system supported by Python3
instant preview just fiddle around with the sliders and see the result before converting

Usage

Using Convertron3000 is pretty straight-forward:

  • Open some image.
  • Adjust the sliders or apply an effect.
  • Convert to koala or hires format.
  • Save the resulting image.

Dithering

As of now, Convertron3000 offers various dithering methods. As the PIL-library only implements "floyd-steinberg"-dithering, all other dithering methods were taken from the hitherdither library.

reason description
floyd-steinberg dithering speedy performance from the PIL-library
bayer-ordered dithering the speedy standard, my favourite for C64 pictures
line dithering a modified bayer-ordered dithering method, sometimes looks better than normal ordered dithering
dot dithering not my favourite, but might give nice results on some pictures
yliluomas1 dithering Warning: Painfully slow - use with care! The results are stunningly good sometimes, though.

Please, take note that all dithering implementations except "floyd-steinberg"-dithering are quite slow when using the "Brightness palette"-mode, which is described below.

Brightness palette

Sometimes converted images look better when applying a palette based on brightness values.

  • Select "brightness palette" mode.
  • Choose one of the presets ("purple", "brown" etc.).

You can also create your own palette like this:

  • 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.
  • Open your .json file. You find this option in the drop-down menu under "open custom gradient".
  • Choose "custom" as your brightness palette.

File Formats

The multicolor bitmap is stored in the widely-spread KoalaPainter (.koa) format:

  • 2 bytes load address
  • 8000 bytes raw bitmap data
  • 1000 bytes raw "Video Matrix" (screen) data
  • 1000 bytes raw "Color RAM" data
  • 1 byte background data

The hires bitmap is stored in the widely-spread Advanced Art Studio (.art) format:

  • 2 bytes load address
  • 8000 bytes raw bitmap data
  • 1000 bytes raw "Video Matrix" (screen) data

Authors

Acknowledgments

Getting Started

Convertron3000 comes in two flavors:

  • standalone executable for 64-bit systems Linux, MacOS/Darwin and Windows (see releases)
  • Python3 script

Run the standalone executable

Just download your bundle at releases and enjoy. Keep in mind that only 64bit systems are supported as I could not find a 32bit system to generate the bundle.

Note for Windows users

If some antivirus scanner puts Convertron3000 into quarantine because it suspects a trojan or virus, simply put it out there again. It isn`t harmful, I used PyInstaller to bundle the standalone executable for you. Unfortunately, the PyInstaller bootloader triggers a false alarm on some systems. I even tried my best and re-compiled the PyInstaller bootloader so that this should not happen anymore. Keep your fingers crossed ;)

Note for MacOS users

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.

"Convertron3000" can`t be opened because it is from an unidentified developer.

You need to right-click or Control-click the app and select β€œOpen”.

Run the Python3 script directly

Download convertron.py and the whole resource - directory into the same folder on your computer.

Prerequisites

At least this is needed to run the script directly:

  • python 3
  • python tkinter module
  • python "The Python Imaging Library" (PIL)
  • python "hitherdither" library

Normally, you would use pip like this:

pip3 install tk pillow git+https://www.github.com/hbldh/hitherdither

On my Debian GNU/Linux machine I use apt-get to install everything needed:

apt-get update
apt-get install python3 python3-tk python3-pil python3-pil.imagetk
pip3 install git+https://www.github.com/hbldh/hitherdither

Changelog

Future plans

  • custom brightness palette editor

Any help and support in any form is highly appreciated.

If you have a feature request, a bug report or if you want to offer help, please, contact me:

http://csdb.dk/scener/?id=3623 or [email protected]

Changes in 1.2

  • proper dithering support: bayer-ordered, line dither and some others
  • GUI improvements
  • moved standalone executables to releases

Changes in 1.1

  • transfered whole code to Python3
  • great speed improvement, converts much faster now
  • new feature: specify image on the command-line, e.g. "convertron.py picture.jpg"
  • standalone executables for 64bit-systems: Linux, Darwin (MacOS) and Windows
  • GUI design adjusted for MacOS/Darwin
  • numpy library not used any more
  • documentation
  • custom brightness palette now uses .json format

Changes in 1.01

  • added licenses
  • added to github with proper README.md

Changes in 1.0

  • hires mode
  • colodore palette
  • button: reset color modifiers to default
  • start address now in hex
  • custom brightness palette (config file)

Changes in 0.1

  • initial release

License

Convertron3000 is a graphics converter for Commodore 64 computers.

Copyright (C) 2022 fieserWolF / Abyss-Connection

This 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.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.

See the LICENSE file for details.

For further questions, please contact me at http://csdb.dk/scener/?id=3623 or [email protected]

For Python3, The Python Imaging Library (PIL), Tcl/Tk and other used source licenses see file LICENSE_OTHERS.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].