diff --git a/mandel.s b/mandel.s index 472f613..9546b68 100644 --- a/mandel.s +++ b/mandel.s @@ -234,9 +234,9 @@ display_list_len = display_list_end - display_list_start color_map: .byte 0 .repeat 85 - .byte %01010101 - .byte %10101010 - .byte %11111111 + .byte 1 + .byte 2 + .byte 3 .endrepeat @@ -285,11 +285,6 @@ fill_masks: .byte %00000001 .byte %00000000 -pixel_masks: - .byte %11111111 - .byte %11110000 - .byte %11000000 - viewport_zoom: .byte 1 .byte 6 @@ -1135,11 +1130,8 @@ enough: ; iter -> color ldx iter lda color_map,x - ldx fill_level - and pixel_masks,x sta pixel_color - lda pixel_masks,x - eor #$ff + lda #(255 - 3) sta pixel_mask ; sy -> line base address in temp @@ -1188,15 +1180,18 @@ point: ; pixel_mask <<= pixel_shift (shifting in ones) and #3 sta pixel_shift + lda #3 + sec + sbc pixel_shift tax shift_loop: beq shift_done - lsr pixel_color - lsr pixel_color + asl pixel_color + asl pixel_color sec - ror pixel_mask + rol pixel_mask sec - ror pixel_mask + rol pixel_mask dex jmp shift_loop shift_done: diff --git a/todo.md b/todo.md index e8cffe3..284d653 100644 --- a/todo.md +++ b/todo.md @@ -11,7 +11,8 @@ things to try: * y-axis mirror optimization -* try filling in the extra scanlines on 4x4 and 2x2 tiering +* 'wide pixels' 2x and 4x for a fuller initial image in the tiered rendering + * maybe redo tiering to just 4x4, 2x2, 1x1? * extract viewport for display & re-input via keyboard