Commit graph

61 commits

Author SHA1 Message Date
5637783529 Faster imul16 routine
Improves runtime from 16.24 ms/px to 14.44 ms/px

This uses a routine found on Everything2:
https://everything2.com/title/Fast+6502+multiplication

which uses a lookup table of squares to do 8-bit imuls,
which are then composed into a 16-bit imul
2024-12-14 18:53:31 -08:00
29630c8887 update palette more smoothly 2024-08-19 13:21:44 -07:00
c559b6e76b palette adjustment 2024-08-18 21:07:53 -07:00
6f05a9bbd0 basic palette cycling 2024-08-18 21:06:30 -07:00
8be03993ab fix time of drawing of 'DONE' text 2024-08-18 20:29:39 -07:00
201d9bf15c clear screen after zoom/scroll 2024-02-25 15:15:23 -08:00
c152c4346b Progressive pixel layout 2024-02-04 14:25:15 -08:00
510457f97a add a note to fix stats when changing zoom 2023-03-11 21:15:08 -08:00
3d792603db keyboard nav sorta working 2023-03-11 20:45:32 -08:00
b1c26c1edd WIP fix keyboard check 2023-03-05 16:57:41 -08:00
53336f7af1 WIP quick hack to check keyboard
this for some reason only works ONCE
though I can replicate the logic in BASIC
and it works over multiple keys
not sure what's wrong
2023-03-05 15:45:44 -08:00
24abc21b01 move speed to the right 2023-03-05 13:56:50 -08:00
9926ec28e7 clean up speed display now uses ms/px msg 2023-03-05 13:48:39 -08:00
0501a364c7 Check for repeated zx/zy values
These will never escape, so saves
some time in the lake

trick is taken from fractint
2023-02-12 11:56:20 -08:00
839330edb3 fixes 2023-02-05 15:14:24 -08:00
e9f8aa1512 WIP status bar updates 2023-02-05 14:26:58 -08:00
702f7b3598 WIP frame counter for speed readout
not yet doing any of the calc/output or calls :D
2023-01-29 18:50:04 -08:00
ca5db83e8f rethought the rounding function
realized the top bits are not enough, that was a brainfart
doing comparisons now
2023-01-28 16:37:37 -08:00
b55015ff87 no this seems right
but it's still coming out different. wtf am i doing wrong
it's gotta be a brainfart
2023-01-28 14:34:52 -08:00
76715a6151 Adjust rounding, loop exits
Still slight differences between positive and negative Y halves
Not sure what's wrong
2023-01-28 13:34:50 -08:00
b6ddc0d50e update readme & doc comments & vars 2023-01-22 14:34:30 -08:00
7009e16235 fix range checks 2023-01-22 13:56:19 -08:00
0afed893a6 whoops
now produces correct fractal but iterations outside are
sometimes wrong
probably range errrs in intermediate calc
2023-01-22 12:57:52 -08:00
8af3721308 tweaks 2023-01-22 12:47:24 -08:00
57975b7158 not sure what's wrong have to hceck over 2023-01-22 12:02:15 -08:00
1bef004ccd precision cleanup
using 4.12 and 8.24 consistently
2023-01-22 11:17:51 -08:00
ae9dd0674d corrupt! but it produces pixels 2023-01-22 10:42:37 -08:00
b4721ae46b fix pixel shift 2023-01-22 09:37:37 -08:00
dbbec8ed6d ok two things wrong:
1) bit masks are backwards
2) iter always returning 0
2023-01-22 09:34:42 -08:00
d36667938d run it (fails) 2023-01-22 09:13:19 -08:00
efac8f4f62 now writes pixels sorta 2023-01-22 09:09:12 -08:00
a8872b4e66 hmm 2023-01-22 08:34:06 -08:00
2e5f91a0db wip gfx 2023-01-22 08:20:59 -08:00
335c4d2c96 and use display list copy in aligned memory 2023-01-22 07:36:08 -08:00
6fc07b9e65 hmm 2023-01-22 07:23:46 -08:00
9cbcf1cb5a strings fixed but .... something's corrupt in display 2023-01-22 06:35:41 -08:00
0c04e7ddc8 text but it fails cause not ascii lol 2023-01-22 06:12:40 -08:00
7cb879d110 fix graphics set
forgot that the OS copies shadow registers over lol
2023-01-22 05:54:50 -08:00
f22653bd87 wip loop 2023-01-21 19:17:30 -08:00
32bd5a540c flesh out the mandelbrot iteration loop
some bits i missed increased total to:
1939 - 3007 cycles per iteration

probably still buggy, will test later :D
2023-01-06 17:18:13 -08:00
3d94a9b5d4 show range 2023-01-05 11:58:32 -08:00
c7e7129eb2 whoops missed a few cycs 2023-01-05 11:55:41 -08:00
2340f8210e update round & sketch out the iter cycle count 2023-01-05 11:36:42 -08:00
7f70f14fc2 one last round sketch
combining copy and round
2023-01-05 11:17:13 -08:00
7ac0df0343 Added two version of 16-bit rounding
round16_incdec uses inc and dec
round16_addsub uses adc and sbc

the incdec version is the same when no rounding is needed
but saves about 8 cycles on the rounding cases, for an
average savings of 4.5 cycles for randomly distributed inputs

untested so far
2023-01-05 09:06:07 -08:00
373e1441d3 comment tweaks 2023-01-04 21:09:45 -08:00
efd722eeb2 update cycle count for imul16 2023-01-04 20:37:16 -08:00
41915cf122 save a few bytes by removing a dupe tail from two cases now 2023-01-04 20:33:42 -08:00
38091e535f hmm 2023-01-04 20:31:39 -08:00
58519381bf hmm 2023-01-04 20:12:34 -08:00