Perfect version

This commit is contained in:
Pedro de Oliveira 2014-08-20 09:02:15 +01:00
parent 58b330befa
commit bb433bd645
3 changed files with 422 additions and 216 deletions

View File

@ -12,7 +12,9 @@ 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 50
; PrevX
; PrevY
MAX_STARS EQU 60
start
xor a
@ -27,18 +29,15 @@ main_start
ld c, MAX_STARS
main
ld a, (hl) ; HL points to X
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
inc hl ; Y
inc hl ; Speed
inc hl ; PrevX
ld a, (hl)
ld d, a ; Save PrevX to D
inc hl ; PrevY
ld a, (hl) ; HL now points to Y
ld e, a ; Save Y to E
ld a, (hl)
ld e, a ; Save PrevY to E
push hl
push bc
@ -49,7 +48,10 @@ main
pop bc
pop hl
dec hl
dec hl ; PrevX
dec hl ; Speed
dec hl ; Y
dec hl ; X
ld a, (hl) ; HL points to X
ld d, a ; Save X to D
@ -67,7 +69,9 @@ main
pop bc
pop hl
inc hl ; Next star
inc hl ; Speed
inc hl ; PrevX
inc hl ; PrevY
inc hl ; Next star
dec c ; Decrement counter
@ -91,7 +95,7 @@ initStars_loop
ld (hl), a
inc hl
inc hl ; Y
push hl
call getRandomY
@ -99,7 +103,7 @@ initStars_loop
ld (hl), a
inc hl
inc hl ; Speed
push hl
call getRandomSpeed
@ -107,7 +111,9 @@ initStars_loop
ld (hl), a
inc hl
inc hl ; PrevX
inc hl ; PrevY
inc hl ; Next one
dec d
jr nz, initStars_loop
@ -177,24 +183,44 @@ increment_x
ld hl, STARS
ld c, MAX_STARS
increment_x_loop
push de
ld d, (hl) ; Save current X to D
inc hl ; Y
ld e, (hl) ; Save current Y to E
inc hl ; Speed
inc hl ; PrevX
ld (hl), d
inc hl ; PrevY
ld (hl), e
dec hl ; PrevX
dec hl ; Speed
dec hl ; Y
dec hl ; X
pop de
ld a, (hl)
cp $fb
cp $ff
jr z, increment_x_zero
jr nc, increment_x_zero
inc hl ; Skip to Y
inc hl ; Skip to Speed
ld b, (hl) ; Read speed to B
add a, b ; Add speed to X
dec hl ; Back to Y
dec hl ; Back to X
add a, b ; Add speed to X
jr c, increment_x_zero
increment_x_update
ld (hl), a
inc hl
inc hl
inc hl
inc hl ; Y
inc hl ; Speed
inc hl ; PrevX
inc hl ; PrevY
inc hl ; Next
dec c
jr nz, increment_x_loop
pop bc
@ -314,7 +340,7 @@ ENDP
STARS
REPT MAX_STARS
DB $0,$0,$0
DB $0,$0, $0, $0,$0
ENDM
INCLUDE "randomvalues.asm"

View File

@ -12,7 +12,7 @@ speedrandom = []
random.seed()
for idx in range(MAX_STARS):
for idx in range(Generate):
x = random.randint(1,250)
while(x in xrandom):
x = random.randint(1,250)

View File

@ -3,221 +3,401 @@ yrandpos dw yranddata
speedrandpos dw speedranddata
xranddata
db 153
db 23
db 69
db 62
db 217
db 234
db 92
db 33
db 90
db 215
db 236
db 5
db 53
db 158
db 39
db 213
db 142
db 107
db 247
db 245
db 24
db 76
db 153
db 183
db 54
db 163
db 118
db 211
db 75
db 98
db 102
db 88
db 186
db 60
db 176
db 175
db 167
db 25
db 48
db 73
db 128
db 221
db 18
db 212
db 240
db 10
db 150
db 83
db 166
db 26
db 139
db 8
db 157
db 209
db 36
db 111
db 149
db 120
db 57
db 117
db 17
db 44
db 156
db 69
db 109
db 1
db 114
db 165
db 30
db 72
db 77
db 203
db 12
db 32
db 223
db 227
db 241
db 27
db 2
db 174
db 116
db 7
db 93
db 199
db 242
db 225
db 47
db 105
db 171
db 182
db 63
db 246
db 13
db 155
db 6
db 94
db 135
db 217
db 216
db 210
db 131
db 35
db 184
db 181
db 197
db 89
db 95
db 237
db 0
yranddata
db 175
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 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 34
db 67
db 146
db 12
db 109
db 125
db 93
db 175
db 74
db 86
db 153
db 41
db 84
db 16
db 29
db 182
db 27
db 119
db 36
db 10
db 111
db 157
db 40
db 137
db 62
db 63
db 90
db 71
db 147
db 190
db 114
db 9
db 176
db 37
db 5
db 82
db 152
db 72
db 75
db 13
db 187
db 54
db 169
db 171
db 3
db 26
db 42
db 105
db 56
db 7
db 120
db 46
db 163
db 76
db 129
db 136
db 58
db 128
db 79
db 130
db 132
db 101
db 100
db 25
db 185
db 124
db 89
db 164
db 188
db 80
db 150
db 95
db 184
db 127
db 91
db 48
db 99
db 32
db 172
db 49
db 6
db 148
db 14
db 98
db 1
db 23
db 138
db 178
db 97
db 43
db 70
db 60
db 83
db 140
db 189
db 173
db 161
db 61
db 157
db 108
db 123
db 57
db 139
db 106
db 131
db 156
db 77
db 94
db 122
db 2
db 53
db 55
db 44
db 133
db 22
db 78
db 17
db 28
db 66
db 11
db 30
db 51
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 177
db 64
db 126
db 85
db 38
db 159
db 143
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 145
db 183
db 18
db 191
db 188
db 105
db 102
db 81
db 87
db 112
db 20
db 121
db 116
db 161
db 167
db 162
db 52
db 144
db 155
db 115
db 118
db 89
db 146
db 34
db 3
db 178
db 66
db 92
db 134
db 186
db 104
db 103
db 117
db 33
db 160
db 151
db 19
db 158
db 21
db 35
db 39
db 168
db 65
db 24
db 28
db 181
db 110
db 8
db 135
db 73
db 180
db 96
db 50
db 68
db 45
db 141
db 149
db 174
db 113
db 107
db 88
db 15
db 69
db 166
db 4
db 165
db 179
db 170
db 59
db 0
speedranddata
db 1
db 2
db 2
db 3
db 4
db 1
db 3
db 1
db 2
db 4
db 4
db 3
db 1
db 4
db 1
db 3
db 4
db 3
db 1
db 4
db 2
db 3
db 3
db 4
db 4
db 3
db 4
db 3
db 3
db 2
db 2
db 1
db 3
db 1
db 1
db 2
db 1
db 4
db 3
db 4
db 3
db 1
db 4
db 2
db 3
db 1
db 4
db 3
db 2
db 3
db 3
db 3
db 4
db 2
db 4
db 1
db 2
db 2
db 1
db 4
db 4
db 2
db 4
db 2
db 3
db 1
db 4
db 4
db 4
db 1
db 1
db 2
db 1
db 1
db 1
db 4
db 2
db 2
db 4
db 1
db 4
db 3
db 1
db 4
db 2
db 4
db 3
db 2
db 3
db 3
db 2
db 4
db 3
db 2
db 2
db 1
db 2
db 2
db 2
db 3
db 1
db 4
db 4
db 0