bummed some more
authorJohn Tsiombikas <nuclear@member.fsf.org>
Thu, 27 Feb 2020 02:31:26 +0000 (04:31 +0200)
committerJohn Tsiombikas <nuclear@member.fsf.org>
Thu, 27 Feb 2020 02:31:26 +0000 (04:31 +0200)
dos1/c.asm

index d7a228f..fb0214f 100644 (file)
@@ -1,4 +1,4 @@
-; Lowest yet: 277
+; Lowest yet: 270
 
        bits 16
 %ifdef BOOTSECT
@@ -41,12 +41,6 @@ start:
        add ax, 1000h
        mov es, ax
 
-       ; setup palette for the effect
-       ; - bg color (0)
-       ; - shadow color (1)
-       ; - fractal color (2)
-
-
 mainloop:
        call animate
 
@@ -144,16 +138,21 @@ sierp_vel:
        dw 1, 1
        dw -1, 1
        dw -1, -1
+bounds dw 200 - SHADOW_OFFS
+       dw 320 - SHADOW_OFFS
+
 
 animate:
        mov cx, 3
        mov di, sierp_verts
        mov si, sierp_vel
 .loop:
+       mov ebx, 2
+.xyloop:
        mov ax, [di]            ; grab vertex X
        add ax, [si]            ; add velocity X
        jl .xout
-       cmp ax, 320-SHADOW_OFFS
+       cmp ax, [ebx * 2 + bounds - 2]
        jge .xout
        jmp .skip_xflip
 .xout:
@@ -165,20 +164,9 @@ animate:
        ; to do the same for Y increment edi and esi by 2
        add di, 2
        add si, 2
-       mov ax, [di]            ; grab vertex Y
-       add ax, [si]            ; add velocity Y
-       jl .yout
-       cmp ax, 200-SHADOW_OFFS
-       jge .yout
-       jmp .skip_yflip
-.yout:
-       sub ax, [si]            ; revert to previous Y
-       neg word [si]           ; negate velocity Y
-.skip_yflip:
-       mov [di], ax            ; update vertex Y
+       dec bx
+       jnz .xyloop
 
-       add di, 2
-       add si, 2
        dec cx
        jnz .loop
        ret