Monday, 22 May 2017

Multipaint Metal Edition

It's time I gave this 8-bit paint program (works on PC, Linux, Mac) a public update.

Largest change is the new color model, which is perhaps now a bit more sensible. If there is no "room" for a new color inside a color resolution area (say 8x8 pixels), the color under the pointer will be changed to the current color.

The old mode, which prevented color changes if there was no "room" inside color area, is still retained as the 'b' mode, as it can be useful when painting fast or using the geometry tools. (it's the huge B icon at the bottom of the tool box)

Demoing the new preset dither patterns and adjustable offset:

Multipaint supported custom dithers ("rasters") before, but having these presets might come in handy. The offset can only be changed by using the bracket [ ] keys, for horizontal and vertical.

Using a loose dither and changing the offset as you go along can produce nice results quickly, as in the image above.

However I believe that almost all mechanical approaches to dithering are bound to be more or less exploratory tools, and the real work is nearly always about making pixel-level decisions.

The keysheet, highlighting the key shortcuts I think could be most useful to learn first:

u/U for undo/redo
g for grid on/off, G for grid size switch
c for grid constraint on/off.
m for magnify=zoom
, for pick color (alse middle mouse button)

A couple of tips I forgot to mention in the manual:

-This type of drawing can benefit from having a slow mouse setting. Personally, I can't draw with very fast mouse.
-I often use VICE for previewing C64 images every now and then, because it's able to predict the color blurring of a monitor. This is also why I'm not too keen to add a preview window, because it wouldn't do it's job properly. However, it may arrive one day.
-If you draw a circle with a loose dither, then grab it as a brush and draw with the dither off, you can get a kind of "airbrush".

In the future

There still remains many items and known issues on my to-do list. Preview window, aspect ratio (That MSX!), better CPC output, more flexible UI, etc., but they'll have to wait for some time yet.

Overall changes for this version:

-Changed the color behavior to a more straightforward model. Old behavior retained as ‘b’ mode.
-Overall color behavior is more uniform between formats, multicolor and otherwise
-Changes to mouse event handling should make the program a bit more useable across platforms and computer speeds
-Added preset dither (raster) patterns and offset adjustment
-A bit more visible grid (not in plus4 and CPC modes)
-Metal User Interface. Why? I wanted some program changes to be visual. Tiny adjustments to icon graphics and visual behavior. Visible dither on icon, visible spare page on icon.
-Bug fix: UI elements overlapped in CPC mode when using ZOOM=3
-Bug fix: Machine selection through prefs.txt did not really work
-Bug fix: In CPC mode palette changes could not be undoed (in loading pngs for example)

The website:

Monday, 15 May 2017

Raising the Dead 2: The Overclockening

Nah, this is not really about hardcore overclocking, just continuing with this PC upgrade project from 2015. I never believed there would be a processor upgrade, but here it is: Intel Core 2 Q9550 Quad core (2.83GHz)

Although it is not much of an upgrade. The tricky thing is that although this is a Quad, the previous processor, Intel Core 2 Duo E8400, is faster in a single thread, so it's a trade-off between some tasks faster with the new processor and some faster with the old. Video encoding with Handbrake is certainly faster with the quad core, reducing a 28-minute encoding nearer to 20.

But, mildly overclocking the Q9550 it does not even have to be much of a trade-off.

I nowadays have two brands of memory on the motherboard: The G.Skill (2X2GB) and Corsair (2X1GB) totaling to 6GB. They ought to play together, and for the RAM parameters I found someone with the Corsair:

I suppose I could trust the SPD parameters, too. The 1GB memory gap had to fixed from the BIOS settings, otherwise the total memory visible to the system remains at 5GB. (Edit: Wow, I keep on writing about MegaBytes. Fixed)

BIOS parameter experimentation may result in a non-booting computer. Then I have to use the ASUS P5B Deluxe board's CLRTC jumper to reset the BIOS entirely. Take off all power from the computer, including the hard switch. Then the jumper is changed from 1-2 position to 2-3 position for a period of 10-15 seconds. After this, the jumper is returned to the original position. Boot again and Bob's your uncle, the BIOS has been reset. (The BIOS settings menu is accessed with the DEL key)

ASUS P5B Deluxe board: The CLRTC jumper in the normal position.
I changed the FSB from 333 to 350 then to 360. I also reduced the chip voltage to a lower setting (1.2V) so the stressed cores keep around 65C (max 71.4C from the specs). Taking the voltage  above 1.2 very quickly changed the situation to 74+, at which point I closed the burnP6 running in four terminal tabs. With the voltage in the default auto-setting the result was 80 degrees Celsius when strained.

I generally use roughly the same video encoding task (~20min task duration) for Handbrake to test the stability. The burnP6 software can show how much heat the cores can generate under stress, but it does not seem to reveal all stability problems. With FSB at 370 the system became unstable, for example the Handbrake video encoding task would not be finished.

Increasing voltage in turn tended to bring back the heating problem at least with this fan configuration so I could not test the stability with great confidence. So far I have never been able to get the fan to change RPM, Windows or Linux. Pwmconfig does recognize if the Q-fan control from BIOS is on or off, so there is some connection, but it does nothing to the fans during the tests.

So I'm keeping the clocking modest for a moment.

Q9550 at Intel's website