#Quicktake

2026-01-11

Tonight I got a message from a fellow #appleII nerd, who got a #Quicktake for Christmas, tried it with his Apple II and had everything work perfect from start.
If fills me with joy, both on the software side and on the documentation side (custom cable building required! )

#RetroComputing

2025-10-12

This week-end's release of #Quicktake for Apple II brings another 30-plus-second improvement on the Quicktake 200 decoder, down from 103 to 68 !

colino.net/wordpress/en/quickt

I am starting to be very happy with the performance of all three decoders.

#RetroComputing

An example final Quicktake 200 picture. It is a picture of my desk, there is my keyboard in the lower-right corner, my headphones at its left, some papers, and a bit of junk. It is dithered in black-and white.
2025-10-10

I managed to get a "for parts" #Quicktake 150 for 15 euros, it only needed 15 minutes of work to "fix it" (the Trash button was stuck down). Here's its first picture!

#RetroComputing #AppleII

A picture of an Apple IIe keyboard, in black and white. It's been taken with a Quicktake 150 and processed on my Apple IIc.
2025-09-28

This week-end's release of #Quicktake for Apple II brings the decoding speed to under 60 seconds for Quicktake 150 pictures.

colino.net/wordpress/en/quickt

#RetroComputing #AppleII

2025-09-25

6502 optimisation challenge anyone?
This is one of the two longest functions in my #Quicktake 150 decoder, it's called 110k times, takes 7.9M cycles.
The vars are in zero-page already.

The function reads bits from a buffer to get the next valid Huffman code out of the buffer and return its value.

I'm out of ideas :)

Edit: Reading multiple bits using a lookup table will not be better, as it requires a 16-bits buffer which is extremely slower to asl/rol. It was the previous implementation.

The function:
colino.net/tmp/getdatahuff.s.t

#RetroComputing #assembly

2025-09-20

Still on the #Quicktake 150 decoder. I didn't think actually looking close at the data would really help, but I did, and it did. Apparently the most common factor (which is used for half the pixels, both multiplying and later, dividing) is 48, and appears more than 50% of the time in my test set of 30 pictures. Sometimes more than 70% of the time.

That called for special-casing. The division became a lookup table, losing a bit of precision in a non-visible manner, and the division n/48 became equivalent to (n&0xFF00)/48.

This got us to < 100 seconds decoding time!

#RetroComputing #AppleII

Two Callgrind profiles of my decoder. The new one is 11 seconds faster as it makes 87000 divisions instead of 153000!
2025-09-18

I have finally understood a key part of the encoding of #quicktake 150 images, and that gives me hope again to finally shrink this bit buffer to 8bits.
I failed three times already and could only get it down from 32 to 16 bits.
This thing is not just Huffman encoding. It reads bits without discarding some of them in one situation (or refuses some). This is weird and leads to wild left-and-right shifting in all cases, which is vastly suboptimal.
#Retrocomputing #apple2

2025-08-28

Another picture directly from my Apple //c, taken with my Quicktake, sent with Mastodon. This is now working very well :-)

#RetroComputing #AppleII #Quicktake

A picture of my living room. We can see the couch with a large mirror over it, and part of the bookshelves reflect in the mirror. The picture is in black and white, dithered with error diffusion.
2025-08-25

Am I the only one to prefer the black & white dithered rendering of Quicktake 100 pictures over their dcraw full-color decoding?
(The color version really does have that 90s "early digital photography" distinctive feel, mind that this picture was taken in perfect conditions, outside and well-lit)
#Retrocomputing #Quicktake

My cat in black and whiteThe same picture, in full color
2025-08-25

Finally, it would have been sad if #Quicktake for #AppleII didn't benefit from this DHGR pixel-fest. Latest release, v24.0.1, is now able to dither your Quicktake pictures to a beautiful 512x192 mix of black-and-white pixels, making them look better than ever!

Quicktake for Apple II gets another notable improvement, with the Quicktake 200 JPEG decoder speed improved by about 200% (decoding takes a bit less than 2 minutes @1MHz), and the Quicktake 150 decoding time is now under 3 minutes).

The project's homepage is at colino.net/wordpress/en/quickt

#Retrocomputing

A picture of my cat hiding in the bushes, taken with a Quicktake 100 and processed on my Apple II.
2025-08-12

Hi.
I've been working on #Quicktake for #AppleII, am quite happy with where it's going so far. (I'm looking at performance, specifically with the Quicktake 200's JPEG decoder, but give stabs at other parts too, like the ditherer.)

To celebrate, here's a picture of my cat Mistigri hiding in the bushes to avoid the current heatwave as much as possible.
#CatsOfMastodon #Retrocomputing

A pixelated picture of a black and white cat under our garden's bushes. It's taken with a Quicktake 100, and processed with an Apple IIc.
2025-08-09

I thought I was nearly done with the big wins, but I gave a second (or fifth, probably!) look at the bit getter, which of course works by shifting bytes (a thing the 6502 does one bit at a time...).
I (finally) managed to get it down to an 8-bit "buffer", and that paid off!

-11 seconds.
#RetroComputing #Apple2 #QuickTake

A before/after callgrind screenshot with my functions profiles. Highlighted is the very satisfying getBitsDirect function which loses 10 places on the podium by performing almost 9 seconds faster. (per-call cost went down from 249 to 115 cycles)
2025-08-08

Dove deeper into the huffman decoding function, as as much as I find it not perfect (fetching bits one by one), I have found things.
- the function ends with a substraction that could have been done when building the tables
- the function loops at most 16 times to find the Huff code, but on the first 8 iterations, the code is an uint8, so I don't need to do 16bit math. Unrolled the loop into two, 0-7 and 7-15. As Huffman's shortest bitcodes are for the most-occuring symbols, this is not negligible.

We are now right under 152 seconds.

#RetroComputing #AppleII #Quicktake

A callgrind profile, showing 152 seconds spent in main() of the Quicktake for Apple II JPEG decoder.
We can easily see which functions call other ones with the table being sorted by "inclusive cycle count".The same table, sorted by "Self cycle count", the cycles spent inside a function not counting the ones spent in functions they call. _idctCols and _idctRows are very elusive to my optimisations attempts.
2025-08-07

You know how bank robbers squeeze a few precious seconds by yelling "DRIVE!" to the getaway driver *before* they're in the car?
Turns out, if an #AppleII program yells "start the motor!" to the floppy drive just a bit before running out of buffer and needing to refill it, that program will finish... 7 seconds faster!

New decoding time on my reference JPEG is now 159 seconds.

#Quicktake #RetroComputing

2025-08-02

As I don't have any new project in the pipe, I spent my saturday going back to see if I have progressed in #6502 #assembly, and gave a bit of attention to my #Quicktake for #Apple2 JPEG decoder.

I think I progressed: decoding a Quicktake 200 photo now /only/ takes 190 seconds (3 minutes 10), a 25% improvement and a whole minute less than previously!

#RetroComputing

A picture of my desk, taken with a Quicktake 200 and rendered on an emulated Apple //c. It is black-and-white, dithered with the Sierra Lite algorithm, and one can see my headphones, part of my keyboard, and part of my monitor.
At the bottom of the screen, there is an editing menu with some basic tools available (rotation, cropping, brightness control).
ꙮ 𝄃𝄁𝄂𝄀𝄀𝄁𝄃🇫🇯🇱🇨🇱🇧liilliil@mastodon.online
2025-04-09

Начинаю вспоминать, почему Newton в прошлый раз не пошёл: я не смог синхронизироваться, несмотря на то, что купил переходник Din8/RS232

Итак, спустя 10+ лет та же задача: найти работающий переходник и сделать синхронизацию. Переходник для #QuickTake подойдёт для #Newton?

Japan Pop Newsnews@wakoka.com
2025-01-17

wacoca.com/news/2376027/ 発がん性疑われる食品着色料、FDAはなぜ禁止決断したか-QuickTake – Bloomberg #cojp #NEWS #quicktake #science #ニュース

発がん性疑われる食品着色料、FDAはなぜ禁止決断したか-QuickTake - Bloomberg

Client Info

Server: https://mastodon.social
Version: 2025.07
Repository: https://github.com/cyevgeniy/lmst