Home > News & Rumors, OSx/Linux/Win Tools, Today > HermIRES v1.28 C64 hires-bitmap editor

HermIRES v1.28 C64 hires-bitmap editor

HermIRES it’s a cross-platform hires bitmap (Art Studio 1 format) editor for the Commodore 64.

The format has some restrictions, here are the rules:

  • The maximal resolution of the picture is 320×200
  • Only 16 fix C64 colours can be used (no gradient either)
  • In a 8×8 pixel-block only 2 colours can used to be displayable by C64 (this is detected in HermIRES, but .hbm files can be saved with clashes too.)
  • On a real C64 the PAL will blur the screen-content a bit, should check on CRT, or at least VICE emulator’s CRT simulation.

Changelog:

  • Gave 45 pixel taskbar-height for GUI-size auto-detector (more tolerance)
  • LoadVPL() is now before LoadFile() in ‘main’ (by commandline-argument or from config-setting) so opening .png/.bmp at startup is converted correctly with the latest palette.
  • Caption name now doesn’t contain the extra letter at the end (string-delimiter 0 was put in wrong place by loop)

Download:

source: hermit.netne.net

  1. October 2nd, 2014 at 14:32 | #1

    Woah! I’m really digging the template/theme of this website.
    It’s simple, yet effective. A lot of times it’s very difficult to get that “perfect balance” between superb usability and
    appearance. I must say that you’ve done a excellent job with this.

    Also, the blog loads very fast for me on Opera. Exceptional Blog!

  2. Timothy Legg
    December 25th, 2024 at 18:50 | #2

    There’s a LOT of bugs in this code (Ambiguous overload call to abs(double) in source/AllegroPNG/alpng_filters.c). Rather than risking using a different math.h, I just manually replaced the three lines:

    uint32_t pa = abs(p – a);
    uint32_t pb = abs(p – b);
    uint32_t pc = abs(p – c);

    with

    uint32_t pa, pb, pc;
    if(p==a){pa=0;} if(p>a){pa=p-a;} if(pb){pb=p-b;} if(pc){pc=p-c;} if(p<c){pc=c-p;}

    But despite fixing this, it still was broken due to an unknown logical error.

    $ ./HermIRES
    Shutting down Allegro due to signal #4
    Illegal instruction (core dumped)

    So there is something deeply flawed with this release, on the order of either logical or memory management errors. I'm not learning a library just to fix someone else's code. It's easier to finish writing my own C program to achieve my goal.

  3. Timothy Legg
    December 25th, 2024 at 18:55 | #3

    And yes, the editor read the code as weird markups and mangled it into something that won’t compile. Basically, for pa, pb and pc, I simulated the abs function with three comparisons of equal, greater or less than and perform assignment to zero or the polarity of subtraction accordingly. That did the absolute value without having to deal with whatever C++ typecasting issues there are with their math.h library.

*