Compare commits

..

No commits in common. "4497026d9528d4d95084d6b55a0238f9597842bf" and "05b0ff97626379d0a643f2d2407e00938f4ae813" have entirely different histories.

5 changed files with 17 additions and 21 deletions

View file

@ -80,7 +80,6 @@
;;Larger then operation, uses the A register ;;Larger then operation, uses the A register
;;IF a < b then: jump to label ;;IF a < b then: jump to label
; C =0 if jump to LABEL
.macro Lag_16 a_low, a_hi, b_low, b_hi, label ; [low, hi] = [low, hi]*2 .macro Lag_16 a_low, a_hi, b_low, b_hi, label ; [low, hi] = [low, hi]*2
LDA a_hi LDA a_hi
CMP b_hi CMP b_hi

View file

@ -51,7 +51,7 @@
Sub_16 >D, <D, dx, #$00 Sub_16 >D, <D, dx, #$00
jsr pixel_draw ;;only used first pixel. after this relative position is abused jsr pixel_draw ;;only used first pixel. after this relative position is abused
;LDY #$00 LDY #$00
LDX X_pos LDX X_pos
for_x: for_x:
;; Paints A to address i btp_mem_pos* + Y ;; Paints A to address i btp_mem_pos* + Y
@ -82,9 +82,10 @@ increment_y_pos:
CPY #$08 ; CPY #$08 ;
BNE for_x BNE for_x
move_8px_down: ; Z=1 --> C=1 move_8px_down: ; Z=1 --> C=1
;; +320-8 bytes
LDY #$00 LDY #$00
Add_16 >btp_mem_pos, <btp_mem_pos, #$40, #$01; +320 Add_16 >btp_mem_pos, <btp_mem_pos, #$40, #$01
JMP for_x jmp for_x
increment_y_pos_end: increment_y_pos_end:
case_2: ;; C =0 because LAG_16 so we can use ! case_2: ;; C =0 because LAG_16 so we can use !
Add_16 >D, <D, >dy_2, <dy_2, ! ;D = D + 2*dy Add_16 >D, <D, >dy_2, <dy_2, ! ;D = D + 2*dy

View file

@ -65,8 +65,8 @@ increment_y_pos_end:
;;If D < %00000010 00000000: case_2 ;;If D < %00000010 00000000: case_2
;;else case 1. ;;else case 1.
Lag_16 >D, <D, #$00, #$02, case_2 Lag_16 >D, <D, #$00, #$02, case_2
case_1:; C = 1 because LAG case_1:
Sub_16 >D, <D, >V, <V, !; D = D - V Sub_16 >D, <D, >V, <V; D = D - V
increment_pixel_x: increment_pixel_x:
LDA byte_to_paint LDA byte_to_paint
LSR byte_to_paint LSR byte_to_paint

View file

@ -6,9 +6,9 @@
X_pos_ = $0E X_pos_ = $0E
Y_end_ = $10 Y_end_ = $10
X_end_ = $11 X_end_ = $11
LDA #$d2 LDA #$d0
STA X_pos_ STA X_pos_
LDA #$62 LDA #$60
STA Y_pos_ STA Y_pos_
LDA #$ff LDA #$ff
STA X_end STA X_end

View file

@ -47,18 +47,14 @@ end__:
LDA #%00000111 ; A = y (mod 8) LDA #%00000111 ; A = y (mod 8)
AND Y_pos ;; offset to add AND Y_pos ;; offset to add
;;ading offset, same as psudocode bellow ;;ading offset, same as psudocode bellow
;;Add_16 >btp_mem_pos, <btp_mem_pos, A, #$00 ;;Add_16 >btp_mem_pos, <btp_mem_pos, A, #$00
;CLC ; Y = b_low CLC ; Y = b_low
;ADC >btp_mem_pos ADC >btp_mem_pos
;STA >btp_mem_pos STA >btp_mem_pos
;LDA #$00 LDA #$00
;ADC <btp_mem_pos ; C =0 ADC <btp_mem_pos ; C =0
;STA <btp_mem_pos STA <btp_mem_pos
TAY
CLC
LDA #$00 LDA #$00
STA $4B STA $4B
@ -91,9 +87,9 @@ end__:
Add_16 >btp_mem_pos, <btp_mem_pos, #<Bitmap, #>Bitmap, ! Add_16 >btp_mem_pos, <btp_mem_pos, #<Bitmap, #>Bitmap, !
;;Let draw some stuff ;;Let draw some stuff
;LDY #$00 LDX #$00
LDA byte_to_paint ;; note that both bytes are used! LDA byte_to_paint ;; note that both bytes are used!
ORA (>btp_mem_pos), Y ORA (>btp_mem_pos, X)
STA (>btp_mem_pos), Y STA (>btp_mem_pos, X)
RTS RTS
.endproc .endproc