diff --git a/starfield/clear.asm b/starfield/clear.asm index 776f865..b3414ad 100644 --- a/starfield/clear.asm +++ b/starfield/clear.asm @@ -29,7 +29,7 @@ rom_define_borda equ $2294; Rotina da ROM que define a borda screen_attribute equ $47 ; Valor de 0 a 7 -border_color equ $6 +border_color equ $0 clear_screen ld a, screen_attribute diff --git a/starfield/main.asm b/starfield/main.asm index b50ae33..8e64c02 100644 --- a/starfield/main.asm +++ b/starfield/main.asm @@ -12,7 +12,7 @@ clr_screen EQU $0daf ; ROM routine to clear the screen ; X 1 Byte $0 - $ff ; Y 1 Byte $0 - $c0 ; Speed 1 Byte $1 - $3 -MAX_STARS EQU 10 +MAX_STARS EQU 50 start xor a @@ -28,7 +28,12 @@ main_start main ld a, (hl) ; HL points to X - dec a + inc hl + inc hl ; Jump to speed + ld e, (hl) + dec hl + dec hl + sbc a, e ld d, a ; Save X-1 to D inc hl @@ -40,7 +45,7 @@ main call get_screen_address ; Video RAM address for those X,Y is now in HL and the bit needed ; to be set in that address value is in A - call clear_pixel ; Uses those values and writes the pixel + call clear_pixel ; Uses those values clears the pixel pop bc pop hl @@ -173,7 +178,7 @@ increment_x ld c, MAX_STARS increment_x_loop ld a, (hl) - cp $fc + cp $fb jr z, increment_x_zero jr nc, increment_x_zero @@ -250,8 +255,8 @@ PROC clear_pixel push bc ld b, a - ld c, $0 - scf + ld c, $ff + and a ; reset carry clear_pixel_loop ld a, c rra @@ -259,10 +264,10 @@ clear_pixel_loop ld a, b jr z, clear_pixel_do_it dec b - jr write_pixel_loop + jr clear_pixel_loop clear_pixel_do_it ld a, (hl) - or c + and c ld (hl), a pop bc ret diff --git a/starfield/randomgen.py b/starfield/randomgen.py index 2832bd0..fcc7945 100644 --- a/starfield/randomgen.py +++ b/starfield/randomgen.py @@ -18,7 +18,7 @@ for idx in range(MAX_STARS): x = random.randint(1,250) xrandom.append(x) - speed = random.randint(1,3) + speed = random.randint(1,4) speedrandom.append(speed) for idx in range(0,191): diff --git a/starfield/randomvalues.asm b/starfield/randomvalues.asm index f338241..ea80d02 100644 --- a/starfield/randomvalues.asm +++ b/starfield/randomvalues.asm @@ -3,221 +3,221 @@ yrandpos dw yranddata speedrandpos dw speedranddata xranddata - db 158 - db 95 - db 182 - db 197 - db 86 - db 238 - db 161 - db 118 - db 119 - db 35 + db 153 + db 23 + db 69 + db 62 + db 217 + db 213 + db 142 + db 107 + db 25 + db 48 db 0 yranddata - db 80 - db 105 - db 35 - db 171 - db 186 - db 121 - db 185 - db 146 - db 81 - db 43 - db 170 - db 3 - db 17 - db 82 - db 189 - db 83 - db 9 - db 76 - db 191 - db 122 - db 160 - db 33 - db 34 - db 78 - db 115 - db 153 - db 23 - db 38 - db 71 - db 41 - db 107 - db 13 - db 141 - db 188 - db 27 - db 7 - db 66 - db 162 - db 75 - db 113 - db 97 - db 172 - db 55 - db 110 - db 117 - db 125 - db 165 - db 40 - db 18 - db 46 - db 10 - db 42 - db 51 - db 112 - db 56 - db 128 - db 126 - db 129 - db 169 - db 151 - db 131 - db 65 - db 184 - db 159 - db 31 - db 134 - db 96 - db 2 - db 167 - db 1 - db 135 - db 69 - db 90 - db 85 - db 26 - db 64 - db 74 - db 178 - db 163 - db 127 - db 152 - db 156 - db 79 - db 148 - db 161 - db 60 - db 157 - db 67 - db 102 - db 92 - db 24 - db 47 - db 25 - db 176 - db 150 - db 15 - db 177 - db 88 - db 50 - db 164 - db 130 - db 99 - db 32 - db 138 - db 72 - db 104 - db 147 - db 6 - db 118 - db 136 - db 140 - db 54 - db 5 - db 22 - db 12 - db 119 - db 144 - db 166 - db 89 - db 36 - db 158 - db 149 - db 179 - db 187 - db 20 - db 4 - db 100 - db 49 - db 132 - db 86 - db 73 - db 84 - db 114 - db 11 - db 45 - db 94 - db 14 - db 108 - db 154 - db 120 - db 168 - db 28 - db 91 - db 137 - db 16 - db 19 - db 59 - db 21 - db 48 - db 109 - db 39 - db 111 - db 101 - db 173 - db 58 - db 106 - db 181 - db 87 - db 77 - db 190 - db 98 - db 70 - db 30 - db 53 - db 8 - db 57 - db 145 - db 37 - db 139 - db 61 - db 62 - db 180 - db 174 - db 95 db 175 - db 143 - db 123 - db 44 - db 29 - db 142 - db 52 - db 182 - db 103 - db 155 - db 63 - db 93 - db 116 - db 68 + db 23 + db 139 + db 64 + db 38 + db 70 + db 45 + db 61 + db 168 + db 132 + db 172 + db 40 + db 27 + db 177 db 183 - db 133 + db 189 + db 165 + db 72 + db 162 + db 88 + db 21 + db 32 + db 67 + db 7 + db 114 + db 63 + db 60 + db 24 + db 151 + db 2 + db 156 + db 15 + db 37 + db 22 + db 96 + db 153 + db 174 + db 155 + db 59 + db 120 + db 94 + db 10 + db 68 + db 131 + db 176 + db 136 + db 49 + db 158 + db 115 + db 113 + db 29 + db 48 + db 169 + db 11 + db 84 + db 138 + db 126 + db 76 + db 137 + db 123 + db 74 + db 119 + db 19 + db 125 + db 52 db 124 + db 103 + db 122 + db 85 + db 117 + db 12 + db 5 + db 100 + db 106 + db 163 + db 55 + db 108 + db 54 + db 86 + db 129 + db 143 + db 93 + db 185 + db 181 + db 99 + db 4 + db 43 + db 107 + db 134 + db 190 + db 141 + db 133 + db 35 + db 98 + db 79 + db 127 + db 95 + db 51 + db 80 + db 18 + db 69 + db 91 + db 186 + db 6 + db 20 + db 171 + db 44 + db 46 + db 9 + db 150 + db 179 + db 110 + db 187 + db 135 + db 75 + db 164 + db 184 + db 16 + db 130 + db 50 + db 121 + db 180 + db 102 + db 128 + db 101 + db 57 + db 97 + db 90 + db 144 + db 152 + db 39 + db 82 + db 42 + db 145 + db 30 + db 142 + db 104 + db 160 + db 14 + db 58 + db 81 + db 77 + db 65 + db 36 + db 111 + db 157 + db 173 + db 161 + db 17 + db 28 + db 66 + db 31 + db 154 + db 8 + db 166 + db 148 + db 83 + db 33 + db 71 + db 92 + db 147 + db 78 + db 25 + db 1 + db 140 + db 149 + db 87 + db 170 + db 159 + db 47 + db 13 + db 109 + db 41 + db 73 + db 112 + db 167 + db 56 + db 62 + db 116 + db 53 + db 26 + db 182 + db 191 + db 188 + db 105 + db 118 + db 89 + db 146 + db 34 + db 3 + db 178 db 0 speedranddata db 1 db 2 - db 1 - db 1 - db 2 - db 2 db 2 db 3 - db 2 + db 4 + db 1 db 3 + db 1 + db 2 + db 4 db 0