Skip to content

Commit 7148dcd

Browse files
committed
Fix graphics implementation
1 parent 7267575 commit 7148dcd

File tree

1 file changed

+45
-40
lines changed

1 file changed

+45
-40
lines changed

src/main/scala/graphics/Graphics.scala

+45-40
Original file line numberDiff line numberDiff line change
@@ -275,7 +275,6 @@ class Graphics extends Module {
275275
reg := egv(angle)
276276
reb := ebv(angle)
277277

278-
col := 0.U
279278
row := 0.U
280279
}
281280

@@ -358,6 +357,8 @@ class Graphics extends Module {
358357
val (gquo, grem) = incrDiv(dquogrv(currAngle), dremgrv(currAngle), av(currAngle), rg, reg)
359358
g := gquo
360359
eg := grem
360+
ig := gquo
361+
ieg := grem
361362
cg := gquo
362363
ceg := grem
363364
rg := gquo
@@ -366,6 +367,8 @@ class Graphics extends Module {
366367
val (bquo, brem) = incrDiv(dquobrv(currAngle), drembrv(currAngle), av(currAngle), rb, reb)
367368
b := bquo
368369
eb := brem
370+
ib := bquo
371+
ieb := brem
369372
cb := bquo
370373
ceb := brem
371374
rb := bquo
@@ -385,57 +388,59 @@ class Graphics extends Module {
385388
tileBuffer(i)(j) := Mux(visible, rgb, FbRGB(0))
386389

387390
j := j + 1.U
391+
392+
e0 := e0 - dy0v(currAngle)
393+
e1 := e1 - dy1v(currAngle)
394+
e2 := e2 - dy2v(currAngle)
395+
396+
val (rquo, rrem) = incrDiv(dquorjv(currAngle), dremrjv(currAngle), av(currAngle), r, er)
397+
r := rquo
398+
er := rrem
399+
400+
val (gquo, grem) = incrDiv(dquogjv(currAngle), dremgjv(currAngle), av(currAngle), g, eg)
401+
g := gquo
402+
eg := grem
403+
404+
val (bquo, brem) = incrDiv(dquobjv(currAngle), drembjv(currAngle), av(currAngle), b, eb)
405+
b := bquo
406+
eb := brem
407+
388408
when (j === (Tile.size - 1).U) {
389409
j := 0.U
390410
i := i + 1.U
391-
when (i === (Tile.size - 1).U) {
392-
i := 0.U
393-
valid := true.B
394-
} .otherwise {
395-
val ne0 = ie0 - dx0v(currAngle)
396-
e0 := ne0
397-
ie0 := ne0
398-
val ne1 = ie1 - dx1v(currAngle)
399-
e1 := ne1
400-
ie1 := ne1
401-
val ne2 = ie2 - dx2v(currAngle)
402-
e2 := ne2
403-
ie2 := ne2
404-
405-
val (rquo, rrem) = incrDiv(dquoriv(currAngle), dremriv(currAngle), av(currAngle), ir, ier)
406-
r := rquo
407-
er := rrem
408-
ir := rquo
409-
ier := rrem
410-
411-
val (gquo, grem) = incrDiv(dquogiv(currAngle), dremgiv(currAngle), av(currAngle), ig, ieg)
412-
g := gquo
413-
eg := grem
414-
ig := gquo
415-
ieg := grem
416-
417-
val (bquo, brem) = incrDiv(dquobiv(currAngle), drembiv(currAngle), av(currAngle), ib, ieb)
418-
b := bquo
419-
eb := brem
420-
ib := bquo
421-
ieb := brem
422-
}
423-
} .otherwise {
424-
e0 := e0 - dy0v(currAngle)
425-
e1 := e1 - dy1v(currAngle)
426-
e2 := e2 - dy2v(currAngle)
427411

428-
val (rquo, rrem) = incrDiv(dquorjv(currAngle), dremrjv(currAngle), av(currAngle), r, er)
412+
val ne0 = ie0 - dx0v(currAngle)
413+
e0 := ne0
414+
ie0 := ne0
415+
val ne1 = ie1 - dx1v(currAngle)
416+
e1 := ne1
417+
ie1 := ne1
418+
val ne2 = ie2 - dx2v(currAngle)
419+
e2 := ne2
420+
ie2 := ne2
421+
422+
val (rquo, rrem) = incrDiv(dquoriv(currAngle), dremriv(currAngle), av(currAngle), ir, ier)
429423
r := rquo
430424
er := rrem
425+
ir := rquo
426+
ier := rrem
431427

432-
val (gquo, grem) = incrDiv(dquogjv(currAngle), dremgjv(currAngle), av(currAngle), g, eg)
428+
val (gquo, grem) = incrDiv(dquogiv(currAngle), dremgiv(currAngle), av(currAngle), ig, ieg)
433429
g := gquo
434430
eg := grem
431+
ig := gquo
432+
ieg := grem
435433

436-
val (bquo, brem) = incrDiv(dquobjv(currAngle), drembjv(currAngle), av(currAngle), b, eb)
434+
val (bquo, brem) = incrDiv(dquobiv(currAngle), drembiv(currAngle), av(currAngle), ib, ieb)
437435
b := bquo
438436
eb := brem
437+
ib := bquo
438+
ieb := brem
439+
440+
when (i === (Tile.size - 1).U) {
441+
i := 0.U
442+
valid := true.B
443+
}
439444
}
440445
}
441446

0 commit comments

Comments
 (0)