83cba4afa3
Runtime detection of XE-style extended memory
...
Uses the "big multiplication table" in 64KB of extended memory if
bank switching appears to work, otherwise uses the table of squares
lookups.
Initial view clocks in at 13.133 ms/px for the XE version and still
14.211 ms/px for the 400/800/XL version.
Tested in emulator with 130XE and XL+Ultimate 1MB upgrade configs,
and base implementation on the 800XL emulator.
2024-12-27 18:37:03 -08:00
ee1c268705
it works
2024-12-26 21:49:13 -08:00
e84a990789
tweaks:
2024-12-26 21:41:03 -08:00
0cde31905e
runs but doesn't work
2024-12-26 18:35:37 -08:00
45c5a4cb2d
called, gets lost
2024-12-26 18:20:10 -08:00
34ce9da030
builds, not used yte
2024-12-26 18:17:01 -08:00
a9d551a98d
first draft initializer
2024-12-26 17:50:59 -08:00
829d2860e8
:P
2024-12-26 12:04:01 -08:00
f996c3cbcd
provisional maybe
...
old mode runs in 81-92 cycles
provisional code runs in 58-77 cycles
if it works ;)
2024-12-25 12:47:37 -08:00
405cec6d51
WIP imul8 via table experiments
...
planning to try a 64KB table of 8x7-bit multiplies in the high memory
on a 130XE or other high-memory-capable machine
not yet working or finished
too many cycles of overhead per invocation
2024-12-25 10:51:27 -08:00
05133aabdd
slightly faster handling of signed mul
...
previously we were flipping the inputs if negative, and then the
output if both inputs were negative
turns out you can just treat the whole thing as an unsigned mul
and then subtract each term from the high word if the other term
is negative.
https://stackoverflow.com/a/28827013
this saves a handful of cycles, reducing our runtime to a merge
14.211 ms/px \o/
2024-12-15 20:17:45 -08:00
7f2bc43cff
squares
2024-12-14 18:56:26 -08:00
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
ee5b12dae8
mailmap
2024-08-18 20:15:47 -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