Post Ax0X1pRcS2Fkt2gtPc by colin_mcmillen@piaille.fr
(DIR) More posts by colin_mcmillen@piaille.fr
(DIR) Post #Awnd8G0efYjjgV32VU by colin_mcmillen@piaille.fr
2025-08-02T17:42:29Z
0 likes, 1 repeats
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
(DIR) Post #Ax0X1li8Kh5PJ6O1b6 by colin_mcmillen@piaille.fr
2025-08-07T18:09:43Z
0 likes, 0 repeats
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
(DIR) Post #Ax0X1nCIo0oRuxVdGC by colin_mcmillen@piaille.fr
2025-08-08T21:00:24Z
0 likes, 0 repeats
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
(DIR) Post #Ax0X1ny9w55sJNtqr2 by colin_mcmillen@piaille.fr
2025-08-09T20:43:14Z
0 likes, 0 repeats
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
(DIR) Post #Ax0X1omUuvMMpVS3Jg by cr1901@mastodon.social
2025-08-09T21:29:33Z
0 likes, 0 repeats
@colin_mcmillen How do you get a profile of the code w/ function/label names?
(DIR) Post #Ax0X1pRcS2Fkt2gtPc by colin_mcmillen@piaille.fr
2025-08-09T21:31:35Z
0 likes, 0 repeats
@cr1901 with this thing I made : https://www.colino.net/wordpress/en/a2trace-debug-and-profile-cc65-apple2-programs-with-mame/
(DIR) Post #Ax0X1q8rrEqd3AvQp6 by foone@digipres.club
2025-08-09T22:46:03Z
0 likes, 0 repeats
@colin_mcmillen @cr1901 very nifty
(DIR) Post #Ax1N5XuIn9oJGpCVSi by colin_mcmillen@piaille.fr
2025-08-10T08:29:35Z
0 likes, 0 repeats
@foone Thank you! It's imperfect, in particular it gets confused by some pha/pha/rts tricks (https://www.nesdev.org/wiki/RTS_Trick) in some ROM paths, for example in the mouse firmware on Apple IIe. Those tricks aren't present in the IIc ROM, so it works well enough for me, I just profile using `mame apple2c0`.@cr1901